ffmpeg 프레임 복제

ffmpeg 프레임 복제

매우 짜증나는 상황입니다...
프레임 속도가 29.97인 MPG2 비디오가 있는데 MP4로 변환할 때 프레임이 중복됩니다.

해당 명령(직선 변환, 옵션 없음):
ffmpeg -i ~/Desktop/file.mpg ~/Desktop/file.mp4
프레임이 중복됩니다...

프레임 속도를 설정하는 동안:
ffmpeg -i ~/Desktop/file.mpg -framerate 29.97 ~/Desktop/file.mp4
작동하지 않습니다!

시도해 보도록 안내합니다:
ffmpeg -i ~/Desktop/file.mpg -r 29.97 ~/Desktop/file.mp4
여전히 중복된 프레임이 있습니다!

마지막으로 ffmpeg를 사용해 보았습니다.3번째프레임 속도 옵션!:
ffmpeg -i ~/Desktop/file.mpg -vf fps=fps=29.97 ~/Desktop/file.mp4

단, 출력할 때 오디오/비디오가 동기화되지 않았습니다!

어떤 FPS 옵션을 사용해야 합니까?

답변1

사용

ffmpeg -i ~/Desktop/file.mpg -vsync 0 ~/Desktop/file.mp4

이렇게 하면 복제가 생략됩니다.

-vsync passthrough와 동의어입니다 -vsync 0.

답변2

-vsync이제 더 이상 사용되지 않으므로 대신 사용해야 합니다 -fps_mode.

기본적으로는 fps_mode이므로 autofps가 자동으로 변경될 수 있습니다. 예를 들어 원본 소스는 가변 프레임 속도이지만 ffmpeg는 이를 자동으로 일정한 프레임 속도로 변경하도록 결정할 수 있으며 이로 인해 프레임이 중복되거나 삭제될 수 있습니다.

fps 변경을 방지하려면 -fps_mode passthrough. ( -vsync 0또는 과 동일합니다 -vsync passthrough).

자세한 내용은 다음을 참조하세요.ffmpeg 문서.

ffmpeg -i ~/Desktop/file.mpg -fps_mode passthrough ~/Desktop/file.mp4

관련 정보