ffmpeg:비디오를 분할하지만 타임스탬프는 유지함

ffmpeg:비디오를 분할하지만 타임스탬프는 유지함

비디오의 일부를 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가 0이 아닌 이유입니다.

답변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으로 설정하면 이를 방지할 수 있습니다.

관련 정보