ffmpeg를 사용하여 png 파일로 영화 만들기


11

island_sizes-CSH (II)-###. png 형식의 파일 이름을 가진 277 800x600 png 파일이 있습니다. 여기서 ###은 084로 시작하고 360으로 끝나는 숫자입니다.

나는 일을 해요

ffmpeg -i island_sizes-CSH\(II\)-*.png output.mpg -y

그러나 작동하지 않습니다 :

ffmpeg -f image2 -i island_sizes-CSH \ (II \)-*. png video.mpg -y
ffmpeg 버전 1.2.1 저작권 (c) 2000-2013 FFmpeg 개발자
  gcc 4.4.6 (GCC)로 2012 년 5 월 10 일 15:14:14에 구축 20120305 (Red Hat 4.4.6-4)
  구성 : --prefix = / usr --libdir = / usr / lib64 --shlibdir = / usr / lib64 --mandir = / usr / share / man --enable-shared --enable-runtime-cpudetect --enable- gpl --enable-version3 --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth --enable-frei0r --enable-libopencv --enable- libdc1394 --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --extra-cflags = '-O2 -g -pipe -Wall -Wp, -D_FORTIFY_SOURCE = 2 -fexceptions- fstack-protector --param = ssp- 버퍼 크기 = 4 -m64 -mtune = 일반 -fPIC '-비활성화
  libavutil 52. 18.100 / 52. 18.100
  libavcodec 54. 92.100 / 54. 92.100
  libavformat 54. 63.104 / 54. 63.104
  libavdevice 54. 3.103 / 54. 3.103
  libavfilter 3. 42.103 / 3. 42.103
  libswscale 2. 2.100 / 2. 2.100
  libswresample 0. 17.102 / 0. 17.102
  libpostproc 52. 2.100 / 52. 2.100
'island_sizes-CSH (II) -084.png'에서 입력 # 0, 이미지 2 :
  지속 시간 : 00 : 00 : 00.04, 시작 : 0.000000, 비트 전송률 : N / A
    스트림 # 0 : 0 : 비디오 : png, rgba, 800x600 [SAR 3937 : 3937 DAR 4 : 3], 25 tbr, 25 tbn, 25 tbc
[png @ 0x1468c20] ff_frame_thread_encoder_init 실패
출력 # 0, image2를 'island_sizes-CSH (II) -085.png'로 출력 :
    스트림 # 0 : 0 : 비디오 : png, rgba, 800x600 [SAR 1 : 1 DAR 4 : 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc
출력 # 1, image2를 'island_sizes-CSH (II) -086.png'로 출력 :
    스트림 # 1 : 0 : 비디오 : png, rgba, 800x600 [SAR 1 : 1 DAR 4 : 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc
...
출력 # 274, image2를 'island_sizes-CSH (II) -359.png'로 출력 :
    스트림 # 274 : 0 : 비디오 : 없음, rgba, 800x600 [SAR 1 : 1 DAR 4 : 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc
출력 # 275, image2를 'island_sizes-CSH (II) -360.png'로 출력 :
    스트림 # 275 : 0 : 비디오 : 없음, rgba, 800x600 [SAR 1 : 1 DAR 4 : 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc
출력 # 276, mpeg, 'video.mpg'로 :
    스트림 # 276 : 0 : 비디오 : 없음, yuv420p, 800x600 [SAR 1 : 1 DAR 4 : 3], q = 2-31, 200 kb / s, 90k tbn, 25 tbc
스트림 매핑 :
  스트림 # 0 : 0-> # 0 : 0 (png-> png)
  스트림 # 0 : 0-> # 1 : 0 (png-> png)
...
  스트림 # 0 : 0-> # 274 : 0 (png-> png)
  스트림 # 0 : 0-> # 275 : 0 (png-> png)
  스트림 # 0 : 0-> # 276 : 0 (png-> mpeg1video)
출력 스트림 # 218 : 0에 대해 인코더를 여는 중 오류 발생-비트 _ 레이트, 속도, 너비 또는 높이와 같은 잘못된 매개 변수

From man mencoder: mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4, ffmpeg와 유사
Eddy_Em

1
@Eddy_Em 유사하지는 않습니다 ffmpegmencoder불행히도 완전히 다른 문법을 가지고 있습니다.
slhck

1
mencoder가 나를 위해 일했습니다! 감사. 나는 어떤 프로그램을 사용하든 정직하게 신경 쓰지 않고 영화를 얻는다.
rhombidodecahedron

답변:


23

여러 개의 이미지를에 입력으로 전달하기위한 잘못된 구문입니다 ffmpeg. 비디오 슬라이드 쇼 작성image2디 먹서 옵션 에 대한 FFmpeg Wiki 안내서를 참조 하십시오 .

시퀀스 번호에 3 자리 숫자를 사용하도록 지시하고 84부터 시작해야합니다.

ffmpeg -start_number 84 -i island_sizes-CSH\(II\)-%03d.png output.mpg

몇 가지 추가 팁 :

  • 비디오 코덱으로서의 MPEG-1은 최적이 아니며 파일 크기가 클 때 품질이 떨어집니다. 구형 장치 나 컴퓨터 (또는 코덱이없는 Windows XP)와의 호환성을 원치 않으면이를 긁고 다음과 같은 MPEG-4 Part 10 인코더 (H.264)를 사용하십시오 libx264.

    ffmpeg -i … -c:v libx264 out.mp4
    

    x264 옵션 (품질 변경 방법 등)에 대한 자습서는 x264 인코딩 안내서를 확인하십시오 .

  • PNG 파일은 일반 비디오 코덱에서 지원되지 않는 RGB 픽셀 형식을 사용합니다. MPEG-1에서는 중요하지 않지만 MPEG-4 코덱 ffmpeg에서는 픽셀 형식을 서브 샘플링되지 않은 YUV로 자동 변환하기 때문 입니다. 이 경우 YUV 4 : 2 : 0과 같은 크로마 서브 샘플링 형식 으로 변환해야합니다 . 그렇지 않으면 대부분의 응용 프로그램에서 비디오가 재생되지 않을 수 있습니다.

    ffmpeg -i … -c:v libx264 -pix_fmt yuv420p out.mp4
    

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