ffmpeg:分割视频但保留时间戳

ffmpeg:分割视频但保留时间戳

我正在尝试将视频的一部分分割成 mpegts。我的问题是,即使我使用 -copyts,start_pts 也不为 0 原始 stremas 如下所示:音频和视频:

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 可以避免这种情况。

相关内容