我正在记录一个高比特率的HLS流,以连续的方式进行直播。然后我想异步转码成不同格式/比特率。我已经基本实现了这个功能,但是在每个片段之间出现了音频伪像(间隙和爆破声)。
以下是一个ffmpeg命令行的示例:
检查示例音频文件后发现音频末尾存在间隙:
有什么想法可以说服FFMPEG生成适合放回HLS流的音频吗?
**更新1**
这里是原始片段的开头/结尾。 如您所见,开头仍然相同,但结尾在30秒处干净地结束。 我期望有一定程度的填充与有损编码,但我认为HLS有一种无缝播放的方法(这是否与iTunes方法和自定义元数据有关?)
以下是一个ffmpeg命令行的示例:
ffmpeg -threads 1 -nostdin -loglevel verbose \
-nostdin -y -i input.ts -c:a libfdk_aac \
-ac 2 -b:a 64k -y -metadata -vn output.ts
检查示例音频文件后发现音频末尾存在间隙:
有什么想法可以说服FFMPEG生成适合放回HLS流的音频吗?
**更新1**
这里是原始片段的开头/结尾。 如您所见,开头仍然相同,但结尾在30秒处干净地结束。 我期望有一定程度的填充与有损编码,但我认为HLS有一种无缝播放的方法(这是否与iTunes方法和自定义元数据有关?)
**更新2**
因此,我将原始文件(128k AAC in MPEG2 TS)和转码文件(64k AAC in AAC/ADTS 容器)都转换为 WAV 格式并进行了对比。以下是结果: