我想連接兩個具有 ffmpeg 輸出的檔案:
文件1:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file1.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.76.100
Duration: 00:00:02.01, start: 0.000000, bitrate: 172 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 158 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 2 kb/s (default)
Metadata:
handler_name : SoundHandler
文件2:
Input #0, matroska,webm, from 'file2.mkv':
Metadata:
ENCODER : Lavf58.20.100
Duration: 00:01:13.10, start: 0.000000, bitrate: 418 kb/s
Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1k tbn, 60 tbc (default)
Metadata:
DURATION : 00:01:13.100000000
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:
title : simple_aac_recording
DURATION : 00:01:13.002000000
為了連接它們,我使用以下命令:
ffmpeg -f concat -safe 0 -i concat.txt -c copy output.mp4
連接已完成,但過程輸出多次:
Non-monotonous DTS in output stream 0:1; previous: 99677, current: 76011; changing to 99678. This may result in incorrect timestamps in the output file.
觀看輸出檔案時,第一個檔案的影片輸出正常,但第二部分(檔案2)的渲染速度明顯加快。關於音頻,從file1出來的視頻中只有file2的一小部分。
串聯檔案的 ffmpeg 輸出:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.20.100
Duration: 00:00:05.94, start: 0.000000, bitrate: 5210 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 2787 kb/s, 377.45 fps, 50 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 6750 kb/s (default)
Metadata:
handler_name : SoundHandler
file1 沒有音頻,所以我不需要它的音頻輸出。我可以對 file1 進行不同的編碼,但我寧願保持 file2 不變。
答案1
我不確定是否有解決方案,但因為沒有其他人回答(我應該發表評論而不是回答,但我的分數不夠高)...
我曾經遇到過類似的問題,我可以透過使用 MKV 格式而不是 MP4 格式作為輸入檔來解決它。因此,請嘗試使用 將 file1.mp4 轉換為 file1.mkv
ffmpeg -i file1.mp4 -c copy file1.mkv
,然後連接兩個 MKV 檔案。
(順便說一句,標題不正確:問題不是“不同的比特率”而是“不同的幀率”)