FFMPEG-비디오를 타임 랩스로 변환


15

Flash Builder (Action script 3)에서 ffmpeg를 사용하여 비디오를 비디오의 시간 경과로 변환합니다. setpts를 사용 하여이 작업을 수행하는 방법을 연구했지만 결과 출력 파일은 입력과 길이가 같으며 (시간 경과 후 마지막 프레임 만 표시됨) 전달 된 설정에 따라 기간을 변경하고 싶습니다. ffmpeg에.

먼저 명령 줄을 통해 아래를 시도하고 있습니다.

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output.mp4

어떤 도움이라도 대단히 감사하겠습니다!

답변:


21

문제 해결됨. 나는 오디오를 제거하지 않았으므로 아마도 비디오의 전체 시간 동안 거의 비어있는 오디오 파일을 재생하고 있었을 것입니다.

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" -an output.mp4

-an 비디오에서 오디오를 제거합니다.


2

오디오 속도 향상에 대한 자세한 내용은 여기를 참조하십시오. 최대 2x까지 수행 할 수 있지만 더 많은 속도를 내도록 속일 수 있습니다 ( source ).

오디오 속도 향상 / 감소

atempo 오디오 필터를 사용하여 오디오 속도를 높이거나 낮출 수 있습니다 . 오디오 속도를 두 배로 늘리려면

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

템포 필터는 0.5와 2.0 사이의 값을 사용하도록 제한됩니다 (따라서 원래 속도의 절반 이상으로 속도를 늦추고 입력의 두 배 이하로 속도를 늦출 수 있습니다). 필요한 경우 여러 템포 필터를 함께 연결하여이 제한을 해결할 수 있습니다. 오디오 속도가 4 배인 다음은 다음과 같습니다.

ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv

복잡한 필터 그래프를 사용하면 비디오 및 오디오 속도를 동시에 높일 수 있습니다.

ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.