Nev*_*all 5 ffmpeg aac http-live-streaming
我们希望通过利用我们机器的所有内核,使用ffmpeg将分段/编码的执行时间从wav减少到为HTTP实时流分段的aac分段并生成m3u8播放列表.
在一个实验中,我让ffmpeg使用libfdk_aac将wav文件直接分段为aac,但是花了很长时间才完成.
在第二个实验中,我的ffmpeg段wav文件作为是相当快(<1我们的机器秒),然后用GNU平行再次执行FFMPEG编码所述WAV段AAC和手动改变(WAV). m3u8文件没有改变他们的持续时间.这样做的速度要快得多,但在输出音频时可以听到"静音"间隙.
我最初尝试使用mp3的第二种情况,结果仍然完全相同.虽然我(读跛脚编码过程中添加填充http://scruss.com/blog/2012/02/21/generational-loss-in-mp3-re-encoding/),这是否这是否意味着libfdk_aac还增加了编码期间填充?
也许这个与这个问题有关:当我重建它时,如何编码和分割音频文件而不会在各段之间出现间隙(或音频弹出)?
根据HLS 规范第 4 节,我们有:
传输流或音频基本流段必须是该段末尾的编码媒体与前一个序列号的延续,其中连续序列中的值(例如时间戳和连续性计数器)不间断地继续
99.99% 的“沉默”间隙与错误计数器/不连续性有关。因为您写道您手动更改了 .m3u8 文件而不更改其持续时间,所以我推断您尝试自行剪切音频。这是不可能的。
由于这些计数器,HLS 流无法进行可并行创建。它们必须遵循 [ MPEG2-TS :-( ] 序列。您最好获得更快的处理器。