의견에서 사람들이 말했듯이, 실제로 해결하려고하는 문제를 해결하는 올바른 방법은 자막을 조정하거나 플레이어에게 다른 속도의 비디오를 요구하는 것입니다. (예 : mpv --sub-fps 25
24 / 1.001 fps 사본과 동기화되어 25fps 쇼를위한 잠수정을 유지할 것입니다. http://mpv.io/ )
그러나 실제 질문에 답하기 위해서 :
fps를 변경하기 위해 다시 인코딩 할 필요가 없습니다. ffmpeg 새로운 타임 스탬프로 remux 할 수 없다. 다시 인코딩하지 않아도 안타깝지만 ffmpeg의 디자인 제한 사항입니다. 비디오 인코딩은 손실이 크고 속도가 매우 느립니다. 그러지 마십시오.
시험 mkvmerge --default-duration 0:24000/1001fps --fix-bitstream-timing-information 0 in.mkv -o out.mkv
비디오 FPS를 변경합니다. 그건 오디오 타이밍을 건드릴 수 없으니, 당신은 / v 데시크를 얻을 수 있습니다. 0:
트랙을 선택한다. 0
귀하의 입력 파일에, 나는 보통 비디오라고 생각합니다.
피치 보존 속도 향상 필터로 오디오를 처리 한 후에 오디오를 다시 인코딩해야합니다. 나는 보통 mpv / mplayer로 재생할 때만 이것을한다. scaletempo
필터 (mpv로 자동 삽입). ffmpeg에는 atempo
아마 트릭을하는 필터.
24 / 1.001fps 비디오로 속도가 느려진 오디오를 멀티플렉싱하십시오. 그러면 다시 작업하는 파일이 있어야합니다.
일반적으로 당신이 이것을 할 필요가 없기 때문에 저는이 모든 것을 실제로 테스트하지 않았습니다. 잠수정의 속도를 플레이어에게 알려주십시오. 그리고 당신도 사용할 수 있습니다. mpv --speed 25025/24000 -subfps 25 myfile.mkv
25fps에서 비디오를 즉시 재생할 수 있습니다. 원래 25fps 인 영국 프로그램의 24 / 1.001fps 사본이 있고 일정 속도의 오디오 속도로 원래 속도로 다시 재생하려는 경우