繁体   English   中英

ffmpeg concat使视频更长

[英]ffmpeg concat makes video longer

我有两个视频文件,我想使用ffmpeg连接

initial.mp4视频:h264(高)(avc1 / 0x31637661),yuv420p(tv),720x720,1077 kb / s,15.98 fps,16 tbr,600 tbn,1200 tbc(默认)

ending.mp4视频:h264(高)(avc1 / 0x31637661),yuv420p(tv,bt470bg),720x720 [SAR 1:1 DAR 1:1],1287 kb / s,25 fps,25 tbr,25k tbn,50 tbc (默认

video_instructions_with_ending.txt

file initial.mp4
file initial.mp4
file initial.mp4
file ending.mp4

FFmpeg命令

ffmpeg -f concat -i video_instructions_with_ending.txt -c copy output.mp4 -y

output.mp4视频:h264(高)(avc1 / 0x31637661),yuv420p(tv),720x720,27 kb / s,0.43 fps,48 tbr,19200 tbn,38400 tbc(默认)

输出文件应该是6秒。 但输出文件是3分32秒。

任何帮助将不胜感激

对于我使用的文件,您可以从以下处获取: HERE

ending.mp4上运行此命令,然后使用新文件连接:

ffmpeg -i ending.mp4 -c copy -video_track_timescale 600 newending.mp4

长话短说,时基是不同的,所以结束视频延长。 有关时间戳和基数的上下文,请参阅https://stackoverflow.com/a/43337235/5726027

我尝试了以下命令,它对我有用

ffmpeg -i initial.mp4 -i initial.mp4 -i initial.mp4 -i ending.mp4 -filter_complex concat=n=4:v=1:a=0 -f MOV output.mp4 -y

说明: FFmpeg有三个concat方法

  1. concat协议(ffmpeg -i'concat:input1 | input2'-codec copy output)。 - 将它用于二进制concat兼容文件,如avi,mpeg-ts文件
  2. concat demuxer(您解释的方法) - 当您想要避免重新编码时使用,并且您的格式不支持文件级别连接。
  3. concat过滤器:(以上答案) - 如果需要重新编码,例如应用过滤器时使用。

第3个选项适合场景,因为我们需要重新编码文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM