FFmpeg使mpeg2 ts没有不连续性

我有许多用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

提前致谢

最佳答案 问题是你的电影系列不是一个流.创建单个mpeg2ts段时,每次运行ffmpeg时,时间戳都会重新设置为0.你可以尝试使用

setpts过滤器调整每个段的起始时间戳.但首先你需要知道前一段的最后一点.

点赞