我有很多 TS 视频片段文件目录,我想将其转换为 MP4 文件中的 H.264。每个目录包含多个片段,这些片段组成一个视频,并且有一个 m3u8 索引文件来对所有片段进行排序。
index.m3u8
segment1_0_av.ts
segment2_0_av.ts
segment3_0_av.ts
segment4_0_av.ts
segment5_0_av.ts
segment6_0_av.ts
segment7_0_av.ts
segment8_0_av.ts
segment9_0_av.ts
我在 Mac 上,我可以使用 homebrew 安装任何必要的内容。我可以使用哪个命令行将上述内容转换为单个 H.264 文件?命令行允许我构建一个脚本,以便稍后自动转换多个文件夹。
答案1
您需要先将片段合并在一起,然后进行编码。TS 文件可以像连接它们一样简单地合并。因此,请尝试:
$ cat segment*.ts > onefile.ts
$ ffmpeg -i onefile.ts -c:v libx264 -preset medium -tune film -crf 23 \
-strict experimental -c:a aac -b:a 192k output.mp4
在上面的例子中,你显然需要从 homebrew 或 macports 或从可免费获得的 OSX 二进制文件中获取“ffmpeg”。
如果您对结果不满意,请将“-crf 23”改为更低的整数(21、19、...),以获得更高的质量 - 但默认的 23 应该就足够了。但不要低于 16,因为这对于正常的人类感知标准来说“几乎无损”。
玩得开心。