音频暫時用AVS+clt喂QAAC解決了
☆★☆★☆★☆☆★☆★☆★☆以下原帖☆★☆★☆★☆★☆★☆★☆
背景:手上有三個MP4,幀率分別為vfr 23.976、cfr 29.97、cfr 29.97,每一Part都需要裁切掉不要的部分,然後留下的部分全部合併為一個,再掛VSFilterMod.dll壓特效字幕。
一開始我的方法是每一份都變成cfr23.97064 帶視頻音訊的MP4然後ffmpeg分割->拼接,這樣的缺點是時間只能準確到秒而且有的幀會出錯,步驟也稍繁杂。
實際上最佳解決方案應該是強制統一幀率、掛字幕的同時加Trim、 return P1+P2+P3 輸出。於是有了下面的試驗:
根據Trim的使用指南https://www.nmm-hd.org/d/index.php?title=Trim&variant=zh
我的AVS這樣寫:
============ 1203.avs =============
LoadPlugin("D:\MeGUI_2624_x86\tools\ffms\ffms2.dll")
video=FFVideoSource("D:\2016 VLOGMAS\1203.mp4", fpsnum=24000, fpsden=1001, threads=1)
audio=FFAudioSource("D:\2016 VLOGMAS\1203.mp4")
P1=AudioDub(video,audio).trim(0,188)
P2=AudioDub(video,audio).trim(239, 5874)
return P1+P2
==============================
============命令列============
"E:\avs4x264mod.exe" --x264-binary "E:\x264.exe" --preset fast --bitrate 1600 --output "1203.mkv" "1203.avs"
=============================
但是出來MKV沒有聲音;如果輸出MP4又很詭異。
AVS最後三行換成“
AudioDub(video,audio)
__film = last
__t0 = __film.trim(0, 188)
__t1 = __film.trim(239, 5874)
__t0 ++ __t1
”
或者“AudioDub(video,audio)
Trim(0,188)+Trim(239, 5874)”
結果也是一樣......求高手告訴我哪裡寫錯了呢??或者說有其他辦法完成剪輯?