如何播放或拼接视频 ts

播放ts可以使用VLC,若使用浏览器播放,可以参考我的回答

对于文件名有序的 ts 文件如 xxxxx_1.ts, xxxxx_2.ts,… 就很容易处理。使用如下指令就可以

cat *.ts | ffmpeg -i pipe: -c:a copy -c:v copy out.mp4

也可以参考我对这个 Use ffmpeg copy codec to combine *.ts files into a single mp4 问题的回答。

对于无序的 ts 仅需要借助 m3u8 文件的帮助,m3u8 可以看作是 ts 的索引文件,内容大概如下,

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:4.166667,
3be3431f5df000000.ts
#EXTINF:7.250000,
3be3431f5df000001.ts
#EXTINF:4.166667,
3be3431f5df000002.ts

我们可以看到里面的有索引顺序(也就是播放顺序)的 ts 文件名(虽然这里的名字本来就带有顺序), 这就明晰了。

按索引顺序读取 ts 文件即可,

grep .*.ts index.m3u8 | xargs cat | ffmpeg -i pipe: -c:a copy -c:v copy output.mp4

你可能感兴趣的:(音视频,工具)