画像デマルチプレクサ

ドキュメント:

image2 – Image File Demuxer | FFmpeg Documentation [Official]

連番画像を扱う

PNG 画像から MP4 動画を作成する。

$ ffmpeg -framerate 30 -i image_%04d.png \
    -vcodec libx264 -pix_fmt yuv420p -r 30 \
    output.mp4

Windows の場合にコマンドプロンプトから実行する。

>"C:\path\to\ffmpeg.exe" ^
    -framerate 30 -i "image_%%04d.png" ^
    -vcodec libx264 -pix_fmt yuv420p -r 30 ^
    output.mp4

参考:

FFmpeg で連番画像から動画生成/動画から連番画像を生成 – Qiita

FFmpeg | Takuya Miyashita

Using FFmpeg to Convert a Set of Images into a Video | Hammad M

フレームレートを指定する

連番画像を入力する際のフレームレートは、-framerate オプションで -i オプションの前に設定する。

$ ffmpeg -framerate 30 -i image_%04d_png ...

出力する動画のフレームレートはフィルターの最後に -r オプションで指定する。

$ ffmpeg -framerate 30 -i image_%04d_png -vcodec libx264 -pix_fmt yuv420p \
    -r 30 output.mp4

参考:

FFmpeg でのフレームレート設定の違い | ニコラボ

saveVideo: FFmpeg drops frames (use -framerate on input) · Issue #74 · yihui/animation – GitHub

オプション

入力オプション

入力ファイルの前に指定する。

  • -framerate 入力画像のフレームレートを指定する (デフォルト25)
  • -start_number 開始フレームを指定する (デフォルト0)
  • -start_number_range 開始フレームを探索する範囲を指定する (デフォルト5)
変換オプション

入力ファイルの後に指定する。

  • -vframes 出力フレーム数を指定する (※出力フレームレートで換算)
  • -vcodec libx264 H.264 でエンコードする
  • -preset H.264 エンコードのプリセットを指定する (デフォルトmedium)
  • -crf 固定品質モード (CRF) の品質を指定する (1828/デフォルト23)
  • -pix_fmt yuv420p 色情報を YUV420 でエンコードする (一部のプレイヤーは YUV420 でないと再生できない)
  • -movflags +faststart メタ情報を先頭に配置して、再生をすぐに開始できるようにする
  • -vf reverse 再生方向を逆転する
  • -r 出力動画のフレームレートを指定する

ドキュメント:

image2 – Image File Demuxer | FFmpeg Documentation [Official]

Video Options | FFmpeg Documentation [Official]

参考:

FFmpeg で連番画像から動画生成/動画から連番画像を生成 – Qiita

FFmpeg で 0 オリジンの連番ファイルを扱う | かかしのアウトプット練習

sequence starting at frame 1001 – Stack Overflow

sequence start at 30 and adds 30 in each image name – Stack Overflow

How to specify start and end frames when making a video? – Stack Overflow

静止画を表示する

参考:

FFmpeg を利用して1枚の画像と音声ファイルから動画を作成する – Qiita

静止画と音声から動画を作成する – Qiita

1秒の無音の音楽ファイル作成/1秒の動画を1枚の静止画から作成 – Qiita

FFmpeg で音声ファイルと画像1枚から動画を作成してみた | DevelopersIO

Creating a video from a single image for a specific duration in FFmpeg – Stack Overflow

透過画像/アルファチャンネルを使う

参考:

Creating transparent video from transparent PNG files using FFmpeg – Video Production Stack Exchange

transparent PNG black outline issue – Stack Overflow

SVG ファイルから動画を作成する

参考:

SVG slideshow with FFmpeg – Stack Overflow

バッチファイルで作成する

参考:

FFmpeg で動画を静止画の連番ファイルにするバッチファイルが意図した動作をしない/「%」のエスケープが必要だった | middledot

OpenEXR を読み込むと色がおかしくなる

-apply_trc オプションに出力伝達特性を指定する。

$ ffmpeg -framerate 30 -apply_trc iec61966_2_1 -i image_%04d.exr -r 30 movie.mp4
出力伝達特性
  • bt709 ITU-R BT.709/国際電気通信連合無線通信部門が勧告するハイビジョン放送 (HDTV) の規格
  • gamma22 ガンマ値 2.2
  • srgb sRGB
  • iec61966-2-1 国際電気標準会議 (IEC) が発行する国際標準規格「61966-2-1:1999」 (sRGB と同等)

ドキュメント:

Color Space | FFmpeg Documentation [Official]

Color Space Support | FFmpeg Wiki [Official]

参考:

Getting a dark output when converting .exr sequence to .mp4 – Stack Overflow

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA