FFmpeg使mpeg2 ts没有不连续性

时间:2012-05-30 23:01:32

标签: ffmpeg http-live-streaming

我有许多用iPhone录制的MOV文件,我想将它们转换为mpeg2 TS。我希望将它们用于使用HTTP Live Streaming协议的实时视频流。

我将iPhone设置为持续将MOV文件发送到服务器。每个视频片段长5秒。我想用它们制作mpeg2 TS并将它们的URL添加到m3u8播放列表中。 我设法做了所有这些,但是当我尝试播放流时,VLC播放器只播放播放列表中的前两个文件,此时播放播放列表中的最后一个文件。 我搜索了互联网,我认为这与不连续性有关。

有没有办法将多个MOV文件转换成多个mpeg2 TS段而不会中断?

或者我可能做错了什么? 这是我的ffmpeg命令:

ffmpeg.exe -i input,MOV -f mpegts output.ts

这是我的m3u8列表:

#EXTM3U
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10,
fileSequence0.ts
#EXTINF:10,
fileSequence1.ts
#EXTINF:10,
fileSequence2.ts

提前致谢

1 个答案:

答案 0 :(得分:2)

问题是你的一系列电影不是一个流。创建单个mpeg2ts段时,每次运行ffmpeg时,时间戳都会重新设置为0。你可以尝试使用 setpts过滤以调整每个细分的起始时间戳。但首先你需要知道上一段的最后一点。