2016-12-31 94 views
0

我堵住试图做一些事情,我已经准备好进行捐赠,如果有人能帮助我的毗连的MP4文件mp4文件,我尝试了一段时间没有结果。有一个命令行工具

我想Concat的http://s.serero.free.fr/rolex.mp4 + http://s.serero.free.fr/video.mp4http://s.serero.free.fr/video.mp4 + http://s.serero.free.fr/rolex.mp4

我试过用ffmpeg命令行软件和mp4box命令行软件,我觉得我没有很好的方法。

我试图在http://s.serero.free.fr/rolex.mp4(反之亦然)相同的格式变换http://s.serero.free.fr/video.mp4

我的http://s.serero.free.fr/video.mp4

相同的帧速率变换http://s.serero.free.fr/rolex.mp4我的http://s.serero.free.fr/video.mp4

同一视频比特率变换 http://s.serero.free.fr/rolex.mp4

我转换了http://s.serero.free.fr/rolex.mp4与相同的视频音频比特率http://s.serero.free.fr/video.mp4

有人可以帮我吗?

向我解释我的策略有什么问题?

回答

1

您的输入参数不尽相同,因此您必须在拼接前使它们相似。

  • rolex.mp4

    Video: h264 (Main) (avc1/0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 835 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default) 
    Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default) 
    
  • video.mp4

    Video: h264 (High) (avc1/0x31637661), yuvj420p(pc), 1152x720, 1749 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default) 
    Audio: mp3 (mp4a/0x6134706D), 44100 Hz, stereo, s16p, 127 kb/s (default) 
    

这个例子会让video.mp4更像rolex.mp4然后CONCAT他们:

ffmpeg -i rolex.mp4 -i video.mp4 -filter_complex \ 
"[1:v]pad=1280:720:(ow-iw)/2:0,fps=25,format=yuv420p[v1]; \ 
[0:v][0:a][v1][1:a]concat=n=2:v=1:a=1[v][a]" \ 
-map "[v]" -map "[a]" output.mp4 

你实际上并不需要声明fpsformat因为,作为concat filter documentation状态:

所有相应的流必须在所有 段相同的参数;过滤系统将自动为视频流选择共同的 像素格式,并且音频流的常见样本格式(样本 速率和通道布局),但其他设置(如 分辨率)必须由用户明确转换。

...但这样做可以让您手动选择“常用”设置,而不是依靠过滤器自动这样做,并可能选择您不想要的设置。

+0

感谢尝试帮助我,但ffmeg告诉我这个错误:http://s.serero.free.fr/err.png – user1018697

0

感谢LordNeckbeard为他的出色答卷,硬是让上的命令有一点差错,我只想做一点解释:

如果我想与Concat的rolex.mp4 video.mp4(1152X720)( 1280X720),我们必须明白“video.mp4”是主要的视频,所以视频必须具有完全相同的帧尺寸

所以之前做这个手术,你需要调整rolex.mp4视频与同尺寸一样video.mp4与ffmpeg的:

的ffmpeg -i rolex.mp4 -s 1152x720 -c:副本newrolexsized.mp4

否video.mp4和newrolexsized.mp4具有相同的帧大小,并且可以使用该命令(spcifying垫= 1152:720 =>尺寸的主视频的):

的ffmpeg -i video.mp4 -i newrolexsized.mp4 -filter_complex“[1:v] pad = 1152:720:(ow-iw)/ 2:0,fps = 25,format = yuv420p [v1]; [0:v] [0:a] [v1] [1:a] concat = n = 2:v = 1:a = 1 [v] [a]“-map”[v]“-map”[a]“out.mp4

+1

他的命令是正确的。你在他的命令中切换了输入的顺序。在你的,rolex.mp4是第二个输入。 – Mulvya