是否有任何开源流媒体解决方案支持Http Adaptive Streaming?根据我的研究,VLC不支持自适应流媒体。我不确定Darwin Streaming Server。有什么想法吗?
答案 0 :(得分:4)
我看到他们但没有测试过。我建议他们在HTTP Live Streaming的早期阶段引起的悲伤程度是不值得的。您可以使用很少的资源来尝试解决问题。
如果你想便宜,你可以尝试:
50美元:Apple Compressor。如果您有MAC ,则对所有内容进行编码和分段 25美元:Markelsoft HLS Segmenter:但是你可能需要使用一些X.264设置才能获得最终产品,虽然它是细分的(大工作)但它不会创建变体播放列表。您可以使用记事本手动执行此操作。这不是一件大事。如果你想完全免费,你有:
编码:手刹,MeGui,无论你想要什么。只需遵循Android编码规范即可。使用H264和AAC。请勿使用渐进式下载设置/预设。使用CBR而不是VBR并确保您的帧率恒定不变。选择可在乘法中轻松使用的帧速率,以便确保段中的关键帧位置。
使用Apples免费工具:mediafilesegment,variantplaylistcreator等.Mediafilesegmenter会询问您想要多大的片段。默认值为10秒。然后设置解码器关键帧以确保每个段以关键帧开头。
我将举两个例子。
示例1:
关键帧设置2 * 30 = 60帧。每隔5个关键帧(5 * 60)引导一个段
示例2:
答案 1 :(得分:2)
如果您需要开源解决方案,可以使用x264和mp4box执行此操作。以下命令将是如何创建单个质量/表示/再现的示例:
x264 --output intermediate_2400k.264 --fps 24 --preset slow --bitrate 2400 --vbv-maxrate 4800 --vbv-bufsize 9600 --min-keyint 48 --keyint 48 --scenecut 0 --no-scenecut --pass 1 --video-filter "resize:width=1280,height=720" inputvideo.mkv
下一步是将编码内容多路复用到mp4:
MP4Box -add intermediate.264 -fps 24 output_2400k.mp4
然后您创建单个细分和清单:
MP4Box -dash 4000 -frag 4000 -rap -segment-name segment_ output_2400k.mp4
然后你可以创建其他一些品质,并使用像dash.js这样的开源播放器或像Bitmovin player这样的商业播放器播放它们。对于编码,还可以使用Bitmovin Cloud Encoding或zencoder等商业云服务。
答案 2 :(得分:1)
OSMF播放器: http://www.osmf.com/
答案 3 :(得分:0)
说实话,没有简单的解决方案可以完成所有这些,不提自适应流媒体。 绝对没有一体化的开源解决方案可以对HTTP流进行编码,分段和传送(不提及具有同步关键帧的自适应流)。