
使用帶有 -ss、-t 和 -tpad 的 ffmpeg,我嘗試將一堆剪輯修剪為總共 6 秒的固定長度:開頭的 2 秒處理 + 感興趣的 2 秒 + 結尾處的 2 尾隨秒。不幸的是,我的一些輸入剪輯在結尾或開頭沒有 2 個尾隨秒,因此我嘗試用 tpad 填充它們(因此輸出始終為 6 秒)。這有點管用,但現在我總是在開始時有兩秒鐘的興趣——而不是像我想要的那樣在中間。我怎樣才能解決這個問題?
額外問題:目前它用黑色填滿。顏色選項如何使用影片的第一幀/最後一幀作為靜止影像?
我使用的程式碼(從 Python 調用,但它對過濾器鏈應該沒有影響):
filterchain = "[0:v]tpad=stop=-1,trim=end=6,scale='if(gt(a,1/1),-1,480)':'if(gt(a,1/1),480,-1)',setsar=1,crop=480:480"
subprocess.call(['ffmpeg', '-ss', str(inpoint-2), '-t', '6',
'-i', input_clip, '-filter_complex', filterchain, '-r', '25',
'-c:v', 'prores', '-profile:v', '1', '-c:a', 'pcm_s16le',
'-ar', '48000', "-hide_banner", '-loglevel', 'error', output])