将mp2转换为mpeg传输流

时间:2013-09-27 18:10:47

标签: audio ffmpeg codec mpeg2-ts mpeg-2

此应用程序适用于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秒。

1 个答案:

答案 0 :(得分:1)

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

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

ffmpeg -i 0.mp2 out.m3u8

此处有更多文档:http://www.ffmpeg.org/ffmpeg-formats.html#hls-1

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