FFMPEG를 사용하여 간격을 두고 변경되는 단일 단색으로 비디오를 생성하려면 어떻게 해야 합니까?

FFMPEG를 사용하여 간격을 두고 변경되는 단일 단색으로 비디오를 생성하려면 어떻게 해야 합니까?

테스트 목적으로 매 프레임마다 10fps에서 단색 검정색과 단색 흰색 사이를 변경하는 비디오를 생성하고 싶습니다. FFMPEG를 사용하여 이 작업을 어떻게 수행할 수 있습니까?

답변1

glib 답변은 "ffmpeg 필터 작동 방식을 연구하는 데 3시간을 투자하세요"입니다. 오늘 재미로 한 작업이므로 이 질문을 도전으로 사용했습니다.

결과를 얻는 방법에는 여러 가지가 있는 것 같지만 나에게 도움이 된 방법은 다음과 같습니다.

  1. 검은색 이미지와 흰색 이미지를 생성하고 이름을 img-001.png및 로 지정합니다 img-002.png.

  2. ffmpeg내가 -loop배운 의 기능을 사용하세요이 답변은 이미지-비디오 작업에만 해당됩니다.

이미지 생성:

ffmpeg -f lavfi -i color=black:1920x1080:d=3,format=rgb24 -frames:v 1 -y img-001.png

ffmpeg -f lavfi -i color=white:1920x1080:d=3,format=rgb24 -frames:v 1 -y img-002.png

10fps에서 30초 동안 해당 이미지를 반복합니다.

ffmpeg -loop 1 -i 'img-%03d.png' -r 10 -t 30 -vf format=yuv420p -y out.mp4

ffprobe다음 메타데이터를 보고합니다.

(edited for clarity)
Duration: 00:00:30.00, start: 0.000000, 
Video: h264 (High) yuv420p
1920x1080 [SAR 1:1 DAR 16:9], 20 kb/s, 10 fps

이 요점에는 또 다른 접근 방식이 있습니다을 사용하는 것입니다 filter_complex. 정확히 동일한 작업을 수행하지는 않지만 이 작업에 맞게 조정할 수 있습니다.

관련 정보