
因此,我需要在硬碟上節省大量空間,因此我將 PNG 檔案編碼為無損視頻,以便可以刪除 PNG 檔案。我以 72 fps 編碼一個,另一個稍微減慢到 60 fps。
假設這是我用來編碼為 72fps 的命令:
ffmpeg -framerate 72 -i png/%%06d.PNG -i audio/72.m4a^
-c:v libx265 -c:a copy -pix_fmt yuv444p -crf:v 0^
video/72.mkv
這是 60fps 指令:
ffmpeg -framerate 60 -i png/%%06d.PNG -i audio/60.m4a^
-c:v libx265 -c:a copy -pix_fmt yuv444p -crf:v 0^
video/60.mkv
如果我想從 72fps 視訊檔案而不是 PNG 檔案(因為它們已被刪除)進行編碼,但將視訊速度減慢至 60fps 而不會丟幀,那麼 60fps 命令的等效命令是什麼?如果可能的話,我想告訴它在不使用setpts
視訊過濾器的情況下以 60fps 精確編碼,和/或以不同的幀速率複製視訊串流(我不確定這是否可能)。
答案1
基本指令是
ffmpeg -itsscale 1.2 -i video/72.mkv -i audio/60.m4a^
-map 0:v -map 1 -c copy video/60.mp4
這使用輸入選項itsscale
來重新縮放時間戳,其中1.2
是 的十進位表示72/60
。請注意,這不會向輸出編寫器提供新的幀速率值,因此對於 MKV 等格式,它將使用 ffprobe 顯示舊速率,但以新速率播放。對於 MP4,您應該會看到新的速率。