PNGファイルから映画を作るためのffmpegの使用


9

Island_sizes-CSH(II) - ###。pngという形式のファイル名の277 800 x 600 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 version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on May 10 2013 15:14:14 with gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4)
  configuration: --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-buffer-size=4 -m64 -mtune=generic -fPIC' --disable-stripping
  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
Input #0, image2, from 'island_sizes-CSH(II)-084.png':
  Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgba, 800x600 [SAR 3937:3937 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
[png @ 0x1468c20] ff_frame_thread_encoder_init failed
Output #0, image2, to 'island_sizes-CSH(II)-085.png':
    Stream #0:0: Video: png, rgba, 800x600 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Output #1, image2, to 'island_sizes-CSH(II)-086.png':
    Stream #1:0: Video: png, rgba, 800x600 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 25 tbc
...
Output #274, image2, to 'island_sizes-CSH(II)-359.png':
    Stream #274:0: Video: none, rgba, 800x600 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Output #275, image2, to 'island_sizes-CSH(II)-360.png':
    Stream #275:0: Video: none, rgba, 800x600 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Output #276, mpeg, to 'video.mpg':
    Stream #276:0: Video: none, yuv420p, 800x600 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (png -> png)
  Stream #0:0 -> #1:0 (png -> png)
...
  Stream #0:0 -> #274:0 (png -> png)
  Stream #0:0 -> #275:0 (png -> png)
  Stream #0:0 -> #276:0 (png -> mpeg1video)
Error while opening encoder for output stream #218:0 - maybe incorrect parameters such as bit_rate, rate, width or height

から man mencodermencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4、ffmpegと同様
Eddy_Em

1
@Eddy_Emこれは似ていません ffmpeg - mencoder 残念ながら、構文はまったく異なります。
slhck

1
mencoderは私のために働いた!ありがとう。私は正直に私がどんなプログラムを使うのか気にしない - ちょうど私が映画を手に入れるということ。
rhombidodecahedron

回答:


23

これは、複数の画像を入力として渡すための間違った構文です。 ffmpeg。 FFmpeg Wikiガイドを見てください。 ビデオスライドショーを作成する そしてその image2 デマルチプレクサオプション

シーケンス番号に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.