我有一个遗留的视频分发原型,允许用户在他们的设备上录制视频,将视频(整个视频作为一个文件)上传到云中,同时将其转换成特定的格式,然后与其他设备共享。我们的用例是用户的1-2分钟自拍视频(所以不是电影,视频也不是很长)。
现在,我们想升级我们的系统与自适应流(MPEG-破折号)。我们需要对输油管道进行哪些改变?例如,我们需要分割视频(如何?),具有特定的持续时间(长度?),保留每个片段的不同质量版本(最佳方法?),适应播放,等等。
任何关于这个过程的指导,需要做什么,以及任何优化都是有帮助的。
发布于 2021-09-01 09:27:20
您的问题相当广泛--我认为您本质上需要一个OTT视频点播系统的设计,但要解决您所问的各个问题:
例如,
,我们需要分割视频(如何分割?)
假设您的视频当前是mp4,有多个工具将允许您从其中创建一个破折号清单和媒体片段,包括ffmpeg:https://ffmpeg.org/ffmpeg-formats.html#dash-2。许多打包器(见下文)也将支持这类功能。
具有特定持续时间的
(多长?)
段长通常是延迟、编码开销和质量之间的权衡。这里有一个很好的总结:https://bitmovin.com/mpeg-dash-hls-segment-length/
通常,正如上面的文章所指出的,大多数应用程序此时选择2-4秒段的长度。
保留了每个segmnet的不同质量版本(最好的方法是?)
大多数视频流解决方案将使用原版服务器进行媒体流--如果您正在使用其中之一,那么它很可能对您的破折号文件工作良好。
回放的
适配
几乎所有的标准HTML5,安卓和iOS播放器都会支持破折号和自适应流作为标准,所以你不需要开发任何定制的播放器侧。
总的来说,大多数OTT视频解决方案通常都支持HLS和DASH流协议。这是因为不同的设备和应用程序支持不同的协议,这提供了最佳的访问范围。作为一项非常高级的一般规则,注意到有例外情况:
因此,许多OTT解决方案将以“旋转木马”格式存储转码视频,例如HLS,然后根据需要重新打包到请求设备实际需要的任何东西,无论是HLS还是破折号。在这个过程中使用的是“时间刚好”的包器,它们通常与原始服务器结合使用。见一些例子:
同样值得注意的是新兴行业标准CMAF,该标准承诺统一HLS和DASH流的复杂性。由于对不同设备的加密支持有一些不同,因此推出的速度并不像可能的那样快,但值得注意和规划:https://www.cta.tech/Resources/Standards/CMAF-IF
https://stackoverflow.com/questions/68915303
复制相似问题