1

此应用程序用于 HTTP Live Streaming。(仅限音频)

我有两个连续的 10 秒 mp2 文件(它们一个接一个地编码,但如果拼接在一起,则作为一个无缝文件播放)。我想从这些文件中创建两个 mpeg-2 传输流。不幸的是,当我执行以下操作时:

ffmpeg -i 0.mp2 0.ts

输出成功,但我得到以下信息:

[mp3 @ 0x7fcc2a006600] max_analyze_duration 5000000 reached at 5015510 microseconds
[mp3 @ 0x7fcc2a006600] Estimating duration from bitrate, this may be inaccurate

另外,如果我使用 0.ts 和 1.ts 创建 m3u8 清单文件,则两者之间有一个空格。

因为我正在动态创建播放列表,所以我无法同时访问这两个文件,否则我会简单地连接然后在转换后对文件进行分段。

我在这里想念什么?我应该以不同的方式对 mp2 进行编码吗?我正在使用twolame,一次做10秒。

4

1 回答 1

2

您不应该自己进行分段。通过单独编码段,您会无意中重置连续性计数器,以及插入新的启动样本。这就是导致暂停的原因。

您应该从单个音频文件开始,然后使用 ffmpeg 进行分段。

ffmpeg -i 0.mp2 out.m3u8

更多文档在这里:http ://www.ffmpeg.org/ffmpeg-formats.html#hls-1

您可以忽略 mp3 警告。但是,我强烈建议您将 AAC 用于 HLS。对mp3的支持很差。

于 2013-09-27T20:49:04.620 回答