首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在HTTP web服务器上正确存储视频文件(HLS、dash、mp4、h264等)

如何在HTTP web服务器上正确存储视频文件(HLS、dash、mp4、h264等)
EN

Stack Overflow用户
提问于 2018-01-26 23:43:51
回答 1查看 1.1K关注 0票数 0

我需要存储大量的视频文件在我的http网络服务器(每个视频必须是最多3分钟)。这些视频将在android/ios应用程序上播放(类似于instagram)。

但现在我不知道格式是否会是最优的。我绝对希望有自适应比特率流(如hls或dash)。但我不知道使用编解码器(例如H.264或H.265),使用容器(mp4?),我需要以什么不同的比特率来编码视频,等等。

EN

回答 1

Stack Overflow用户

发布于 2018-01-27 01:28:06

“适当的”OTT视频流服务的通常架构是在头端或服务器端以“carousel”格式存储您的ABR流,并使用JIT (Just in Time)打包器根据需要在用户请求时将流提供给终端设备,最常见的是通过CDN。

JIT打包程序动态地将轮播格式转换为终端设备所需的流格式,通常是HLS或DASH。

苹果设备和浏览器通常更喜欢HLS和Windows,而Google衍生产品和浏览器现在一般更喜欢DASH。在过去的视窗设备使用SmoothStreaming和闪存使用HDS,但这些ABR流媒体协议现在很少使用。

假设你希望你的JIT打包器在从你的carousel格式转换到流格式时做尽可能少的工作,存储在fragmented MP4,CMAF (https://mpeg.chiariglione.org/standards/mpeg-a/common-media-application-format)中,可能是现在正确的方法。直到最近,HLS只支持视频片段的TS (https://en.wikipedia.org/wiki/MPEG_transport_stream)格式,但现在它支持分片的MP4,这意味着它与DASH对齐。

如果您的视频是加密的,那么JIT打包程序通常也会进行JIT加密。目前,加密模式( AES加密的“味道”)在数字版权管理系统/设备之间是不同的,因此尽管通用加密(CENC - https://en.wikipedia.org/wiki/MPEG_Common_Encryption)意味着单个流可以包含任何主要数字版权管理的密钥信息,但在实践中,与其他设备相比,iOS设备的加密流通常是不同的。这种情况正在改变,因为每个人都在转向相同的加密模式,但用户设备的更换/或更新需要一段时间。

关于比特率问题,这取决于你想要支持的设备和你准备有多少流。

例如,支持超出目标设备显示能力的比特率是没有意义的。

大运营商倾向于支持5-9比特率,但如果你主要针对移动设备上的短视频,你可能不需要这么多比特率。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48464695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档