2012-06-11 1 views
4

ffmpeg를 사용하여 일련의 jpg를 비디오로 컴파일합니다. 이것에 대해 많이 쓰여 있지만, 그것을 수행 할 수있는 유일한 방법은 이미지를 연속 된 패딩 된 숫자로 표시하는 것입니다 (예 : 이 모든 *.jpg 파일을 캡처하는 등 %*.jpg 같은 패턴의 다른 유형을 사용할 수 있습니다,하지만 난 내 자신에 일을 입수했습니다 유일한 패턴이 %0Nd 것을 0001.jpg, 0002.jpg ...이미지 파일이 % d.jpg 형식으로되어 있지 않은 ffmpeg

ffmpeg documentation 상태 - 유형 패턴. man page에는 해당 유형 만 언급되어 있습니다.

저는 ffmpeg에 임의의 이름을 가진 일련의 이미지를 사용하고 싶습니다. 내 앱을 상당히 단순화하고, 이미지 삽입 및 삭제 등으로 미리보기 이미지와 메타 데이터를 쉽게 동기화 할 수 있습니다. Android에서 작업 중이므로 링크를 만드는 것은 옵션이 아닙니다. 이 일을 할 수있는 방법이 있습니까?

또한 ffmpeg 소스를 수정하거나 C API로 작업하여 원하는대로 처리 할 수 ​​있지만 코드에서 올바른 위치를 찾지 못하거나 적절한 문서를 찾을 수 없습니다. C API. 어떤 충고? 감사.

+0

맨 페이지에서 : "이것은 C printf 함수에서 지원하는 구문과 동일하지만 일반적인 정수를 허용하는 형식 만 적합합니다." 너는 얼마나 독단적이야? 이미지의 순서가 전혀 중요하지 않습니까? 가능한 해결책은 문서의 [re-order script] (http://ffmpeg.org/faq.html#How-do-I-encode-single-pictures-into-movies_003f)를 사용하여 문서의 이름을 모두 바꾸는 것입니다. 이미지를 인코딩 할 때마다 ffmpeg에서 모두 사용합니다. – Ben

+0

이상적으로 이미지 파일을 일반 영숫자 순으로 정렬합니다. 시간 스탬프로 이미지의 이름을 지정하는 것이 좋습니다. 지금 이미지의 이름을 변경하지만 실제로 제거하고 싶은 몇 가지 추가 복잡성이 있습니다. –

답변

1

는 (! 당신이 연결된 먹서와 동일한되지 않음) current docs for the image2 demuxer는 이름 만 두 가지 가능성을 제시 :

  • 파일 이름 패턴에 포함 된 "%d"또는 "%0Nd"및 프레임이 순차적으로 번호가 매겨집니다 첫 번째 프레임의 번호는 4보다 크지 않습니다.
  • "%d"패턴없이 이름을 지정하면 단일 이미지를 입력으로 사용할 수 있습니다.

나는 예외적 인 경우가 있기 때문에 언제든지 입력으로 임의로 명명 된 프레임 파일을 지원할 가능성이 거의 없다고 생각합니다. 대부분의 사람들은 프레임의 순서에 신경을 쓰고 순서를 매기는 가장 쉬운 방법은 연속 번호를 사용하는 것입니다.

고객님의 목적에 부합하는 concat input protocol을 살펴 보시기 바랍니다. 하지만 경고를 받으면 간단한 테스트에서 몇 개의 이미지를 연결하지 못하므로 mpg과 같이 문자로 연결할 수있는 형식으로 제한 될 수 있습니다.

관련 문제