오식

오식

repos와 github 모두에서 ffmpeg를 사용하려고했습니다. 나는 이것을 시도했습니다 (또한 시도했습니다 -c:v some_codec):

ffmpeg -f image2 -framerate 24 -pattern_type glob -i 'frame-*.jpg' -s WxH 'foo.avi'
ffmpeg version N-90232-g0645698ecc Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.2.0-8ubuntu3.2)
  configuration: --disable-x86asm
  libavutil      56.  8.100 / 56.  8.100
  libavcodec     58. 13.102 / 58. 13.102
  libavformat    58. 10.100 / 58. 10.100
  libavdevice    58.  2.100 / 58.  2.100
  libavfilter     7. 12.100 /  7. 12.100
  libswscale      5.  0.102 /  5.  0.102
  libswresample   3.  0.101 /  3.  0.101
[image2 @ 0x5579541a5780] Could not open file : frame-*.jpg
[image2 @ 0x5579541a5780] Could not find codec parameters for stream 0 (Video: mjpeg, none(bt470bg/unknown/unknown)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, image2, from 'frame-*.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, none(bt470bg/unknown/unknown), 24 tbr, 24 tbn, 24 tbc
Output #0, avi, to 'foo.avi':
Output file #0 does not contain any stream

다음과 같은 이름의 입력 이미지:

frame1.jpg frame2.jpg  ...

답변1

오식

입력 이름은 frame1.jpg, frame2.jpg등으로 지정되었지만 명령에 오타가 있습니다.

frame-*.jpg로 변경 frame*.jpg.

제로 패딩

frame1.jpg파일 이름( vs ) 에 0 패딩이 없기 때문에 frame01.jpgglob 패턴을 사용할 때 프레임 순서가 올바르지 않을 수 있습니다. ls디렉토리의 파일을 보는 데 사용하는 것과 동일한 효과를 볼 수 있습니다 . 이를 방지하려면 대신 기본 시퀀스 패턴을 사용하세요.

ffmpeg -framerate 24 -i frame%01d.jpg output.avi

-f image2필요하지 않습니다.

--disable-x86asm관련은 없지만 속도가 느려질 수 있으므로 빌드하는 것은 권장되지 않습니다.

관련 정보