http自适应流媒体
有没有支持 Http Adaptive Streaming 的开源流媒体解决方案?根据我的研究,VLC 不支持自适应流媒体。我不确定达尔文流服务器。有什么想法吗?
Is there any open source streaming solution supports Http Adaptive Streaming? Based on my research VLC is not supporting adaptive streaming. I am not sure about Darwin Streaming Server. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我看到了它们,但还没有测试过它们。我认为,在 HTTP Live Streaming 的早期阶段,它们所造成的痛苦是不值得的。可供您尝试解决问题的可用资源很少。
如果你想买便宜的,你可以尝试:
50 美元:Apple Compressor。如果您有 MAC 25 美元,则将编码和分段全部合二为一
:Markelsoft HLS Segmenter:但是,您可能需要使用一些 X.264 设置才能获得最终产品,虽然它分段(一项艰巨的工作),但它不会创建变体播放列表。您可以使用记事本手动执行此操作。这不是一项大工作。
如果你想要完全免费,你可以:
编码:Handbrake、MeGui,任何你想要的。只需遵循 Android 编码规范即可。使用 H264 和 AAC。请勿使用渐进式下载设置/预设。使用 CBR 而不是 VBR,并确保您的帧速率是恒定的而不是可变的。选择一个可以在乘法中轻松使用的帧速率,这样您就可以确保片段中的关键帧位置。
使用Apple的免费工具:mediafilesegment、variantplaylistcreator等。Mediafilesegmenter会询问您想要多大的片段。默认值为 10 秒。这样,您就可以设置解码器关键帧以确保每个片段都以关键帧开始。
我举两个例子。
示例 1:
关键帧设置 2 * 30 = 60 帧。每 5 个关键帧 (5 * 60) 引导一个片段
示例 2:
I see them but haven't tested them. I would suggest that the amount of grief they would cause at this early stage of HTTP Live Streaming would not be worth it. There are few available resources for you to use to try to solve issues with it.
If you want to go cheap you can try:
$50: Apple Compressor. Encodes and segments all in one if you have a MAC
$25: Markelsoft HLS Segmenter: However you may need to play with some X.264 settings to get the final product and, while it segments (the big job) it does not create the variantplaylist. You can do this manually using notepad. it's not a big job.
If you want completely free you have:
Encoding: Handbrake, MeGui, whatever you want. Just follow Android encoding specs. Use H264 and AAC. Do NOT use progressive download settings/presets. Use CBR not VBR and ensure your framerate is constant not variable. Select a framerate that can be used easily in a multiplication so you can ensure keyframe location in the segment.
Use Apples Free tools: mediafilesegment, variantplaylistcreator, etc. Mediafilesegmenter will ask you how large a segment you want. Default is 10 seconds. With that you set the decoder keyframe to ensure each segment starts with a keyframe.
I'll give two examples.
Example 1:
Keyframe setting 2 * 30 = 60 frames. Every 5th keyframe (5 * 60) leads a segment
Example 2:
如果您想要一个开源解决方案,您可以使用 x264 和 mp4box 来实现。以下命令是如何创建单个质量/表示/再现的示例:
下一步是将编码内容多路复用为 mp4:
然后创建单独的片段和清单:
然后您可以创建几个其他质量并使用 dash.js 等开源播放器之一来播放它们。
If you want an open source solution you could do this with x264 and mp4box. The following command would be an example how you can create one single quality/representation/rendition:
Next step would be that you multiplex the encoded content into mp4:
And then you create the individual segments and the manifest:
You could then create several other qualities and play them with one of the open source player like dash.js.
OSMF玩家:
http://www.osmf.com/
OSMF player:
http://www.osmf.com/
老实说,根本没有简单的解决方案可以完成所有这些工作,更不用说自适应流媒体了。
当然,没有一种一体化的开源解决方案可以对 HTTP 流进行编码、分段和交付(更不用说具有同步关键帧的自适应流)。
To be honest there is no simple solution to do all of that at all, not mentioning adaptive streaming.
Definitely there is no all-in-one open source solution to do encoding, segmenting and delivering of HTTP streaming (not mentioning adaptive streaming with synchronized keyframes).