最近のバージョンでは、オプションが少し変更されているようです。
フィルタ入力ソースを使用するには、次のことを行う必要があります。
- 以下を使用して、入力形式をlibavfilter仮想デバイスに設定します。
-f lavfi
-i
フラグを使用してフィルター入力ソースを設定します(ではありません-vf
)
- 次のように、引数を完全なキーと値のペアとして提供します。
color=color=red
これはffplay
、フィルターグラフをテストする場合にも 機能します。ffplay -f lavfi -i color
例
-t 30
これらの例では、30秒の出力のみが必要であることを指定するために追加しました。
赤色)
ffmpeg -f lavfi -i color=color=red -t 30 red.mp4
^ ^ ^
| | |
filter key value
キーは省略形に短縮できます。-i color=c=red
SMPTEカラーバーパターン
ffmpeg -f lavfi -i smptebars -t 30 smpte.mp4
テストソースパターン
ffmpeg -f lavfi -i testsrc -t 30 -pix_fmt yuv420p testsrc.mp4
これを確実に再生するには、次のようにピクセル形式を設定する必要があります。-pix_fmt yuv420p
デフォルトでは、ffmpegはyuv444p(x264、High 4:4:4 Predictive)を使用しますが、一部のプレーヤーはまだデコードできません。
たとえば、作成するビデオはVLC 2.0.7をクラッシュさせ、QuickTime Player 10.2(Mac OS X 10.8.4)ではわずか30秒の黒です。
テストソースの詳細については、こちらをご覧ください。
RGBテストソース
ffmpeg -f lavfi -i rgbtestsrc -pix_fmt yuv420p -t 30 rgbtestsrc.mp4
最後の例と同様に、図のようにピクセル形式をyuv420pに設定しない限り、これは機能しない可能性があります。
後世のために、これが私が使用しているバージョンです:
ffmpeg version 1.2.1
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