ffmpeg 이미지 입력은 Windows의 입력 수준에서 홀수 또는 짝수를 사용합니다.

ffmpeg 이미지 입력은 Windows의 입력 수준에서 홀수 또는 짝수를 사용합니다.

필터 수준에서 모든 홀수 또는 짝수 이미지를 선택하는 여러 가지 솔루션이 있으며 모두 작동합니다. 하지만 내 경우에는 15360x8640 .jpg 파일을 입력했는데 모든 이미지를 입력하고 필터에서 매초마다 버리는지 아니면 매 두 번째 입력 이미지를 건너뛰는지에 따라 상당한 차이가 발생합니다. 인코딩 속도가 많이 향상됩니다. 내 일반적인 입력은 다음과 같습니다(win10 x64에서 실행되는 5자리 숫자 파일의 경우).

ffmpeg.exe -framerate 60 -i %05d.jpg -vcodec libx264 out.mkv

내가 시도한 것 (에서 가져옴이 스레드, Linux에서만 작동할 수도 있지만 확인할 수는 없습니다):

ffmpeg.exe -framerate 60 -i %04d%[13579%].jpg -vcodec libx264 out.mkv

그리고 glob 옵션 등이 있거나 없는 다양한 변형이 있습니다. 모두 실패합니다. 항상 "%04d%[13579%].jpg: 해당 파일이나 디렉터리가 없습니다." 또는 이와 유사한 결과가 나타납니다.

매 10번째 프레임(예: 00001 00011 00021 등)에 대한 실제 예제입니다.

ffmpeg.exe -framerate 60 -i %04d1.jpg -vcodec libx264 out.mkv

이미 문제를 해결했거나 새로운 아이디어를 얻은 사람이 있나요?

답변1

현재 2단계 솔루션입니다.
목록 만들기:

dir *1.jpg *3.jpg *5.jpg *7.jpg *9.jpg /b /on | c:\prog\unix\sed "s/^/file /" > "!list.txt"

사용 목록:

ffmpeg.exe -r 60 -f concat -safe 0 -i "!list.txt" -vcodec libx264 out.mkv

장점: 입력 수준에서 입력 또는 디코딩 시간으로 다르게 명명된 파일의 복사본을 갖는 데 약 테라바이트가 절약됩니다. 거대한 .jpg 파일을 입력으로 사용하여 필터 수준에서 변환하는 것과 비교하면 거의 1.5배 빠른 속도입니다.
단점: 필터 수준에서 사용하는 것보다 더 많은 RAM이 필요한 것 같은데, 그 이유는 무엇입니까?
누구든지 더 나은 해결책을 얻었습니까?

관련 정보