我正在嘗試將影片的一部分分割成 mpegt。我的問題是,即使我使用 -copyts,start_pts 也不為 0 原始的 strema 看起來像這樣:音訊和視訊:
start_pts=0
start_time=0.000000
duration_ts=N/A
duration=N/A
bit_rate=N/A
產生的文件如下所示: 影片:
start_pts=133508
start_time=1.483422
duration_ts=450449
duration=5.004989
聲音的 :
start_pts=131588
start_time=1.462089
duration_ts=445440
duration=4.949333
使用的命令:
-loglevel debug -i video.mkv -ss 0.00 -profile:v high -to 5.00 -c:v libx264 -c:a aac -pix_fmt yuv420p -copyts -f mpegts test0.ts
我的問題是為什麼 start_pts 不為零?
答案1
使用
ffmpeg -loglevel debug -copyts -i video.mkv -pix_fmt yuv420p -ss 0.00 -to 5.00 -c:v libx264 -profile:v high -c:a aac -muxpreload 0 -muxdelay 0 -f mpegts test0.ts
MPEG-TS 是一種串流格式,ffmpeg 將偏移時間戳以適應可能的視訊編碼延遲。將 muxpreload 和 muxdelay 設為 0 可以避免這種情況。