2016-12-31 105 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