我使用ffmpeg按照技术说明TN2224中要求的比特率对示例视频进行编码,然后使用HLS工具对其进行细分并创建播放列表,最后创建变体plist文件“ all.m3u8”
我使用了验证工具来验证我的HLS内容,最终显示出来,除了64k音频外,只有带宽很低,其他带宽保持不变,我使用文本编辑器打开了“ all.m3u8”,看到所有其他比特率内容使用相同的带宽。无论我如何在ffmpeg命令中更改参数,我仍然无法纠正它们。以下命令是我用来编码内容的命令:ffmpeg -i input.m4v -acodec libfaac -vcodec libx264 -s 480x360 -b 350k -r 29.97 -vpre medium output.mp4
以下命令用于生成段和片段:mediafilesegmenter -b http://www.example.com/stream/ -I -f ~/Documents/sample/ output.mp4
以下命令用于生成all.m3u8:variantplaylistcreator -o all.m3u8 http://www.example.com/stream/110/prog_index.m3u8 ~/Documents/sample/110/prog_index.m3u8 -iframe-url http://www.freeyourteam.com/stream/110/iframe_index.m3u8 http://www.example.com/stream/200/prog_index.m3u8 ~/Documents/sample/200/prog_index.m3u8 -iframe-url http://www.freeyourteam.com/stream/200/iframe_index.m3u8 http://www.example.com/stream/350/prog_index.m3u8 ~/Documents/sample/350/prog_index.m3u8 -iframe-url http://www.freeyourteam.com/stream/350/iframe_index.m3u8 http://www.example.com/stream/550/prog_index.m3u8 ~/Documents/sample/550/prog_index.m3u8 -iframe-url http://www.freeyourteam.com/stream/550/iframe_index.m3u8 http://www.example.com/stream/64/prog_index.m3u8 ~/Documents/sample/64/prog_index.m3u8
在我的“ all.m3u8”中,带宽全部为523894:
请允许我再问两个基本问题:
在技术说明中,建议的比特率是64 Kbps,110 Kbps,200 Kbps,350 Kbps,550 Kbps,我想知道这个值是包含音频比特率还是排除音频。
如何插入关键帧进行细分?因为在文档中它说:“每个段必须至少包含一个关键帧,最好是更多。如果只包含一个关键帧,则将其放在段的开头。”我不太明白你怎么做。
非常感谢您的帮助,感谢您的宝贵时间。
最佳答案
杰森
要创建all.m3u8,是否应该不给每个文件分别对应不同比特率的多个m3u8文件?
我猜你运行ffmpeg说4次来创建4个比特率文件。然后,您运行分段器4次以创建4组分段及其单独的m3u8文件。
最后,您必须告诉variantplaylistcreator每个比特率各种m3u8文件的位置,以创建单个主m3u8文件。
例如。
variantplaylistcreator -o mymedia_all.m3u8 http://mywebserver/mymedia_lo/prog_index.m3u8 mymedia_lo.plist http://mywebserver/mymedia_med/prog_index.m3u8 mymedia_med.plist http://mywebserver/mymedia_hi/prog_index.m3u8 mymedia_hi.plist
我看不到您分别提供各种文件。希望你能明白。
编辑:要回答您的其他问题:
比特率包括音频。您需要做的是确保编码中的关键帧间隔固定。这将使分段器可以定期对文件进行分段。您不会在任何地方插入任何内容。
出于好奇,为什么不直接使用ffmpeg给您输出分段文件?它支持它。
关于ios - 我的m3u8带宽值出了点问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12727345/