コマンドラインオプションを探しています。
たとえば、ビデオsample-video.mp4
があり、時間00:00:26にビデオから画像ファイルsample-image.jpg
を生成したい場合、どのコマンドを与える必要がありますか?
また、コマンドのすべての引数の機能を詳細に説明できると非常に役立ちます。
mplayer
を使用できます(パッケージmplayer
から、デフォルトではインストールされません):
mplayer -vo jpeg -ss 00:00:26 -frames 1 sample-video.mp4
これによりファイル00000001.jpg
が作成されるため、名前を変更する必要があります。私の知る限り、ファイル名を指定する方法はありません。
-vo jpeg
はJPEG出力が必要であることを意味し、-ss 00:00:26
は指定された位置をシークし、-frames 1
は1つのフレームを処理してから終了することを意味します。
ffmpegを使用できます
ffmpeg -loglevel quiet -ss 26 -i sample-video.mp4 -t 1 -f image2 anyfilename.jpeg
Jpeg出力の品質を制御する-q:v <linear integer 1-10>
や解像度-s 480x300
などのオプションを試してみることもできます。
さらにいくつかのアイデア こちら
VLCメソッド
cvlc sample-video.mp4 --start-time=26 --run-time=1 --rate=1 --video-filter=scene --vout=dummy --aout=dummy --scene-ratio=24 --scene-prefix=sample-image --scene-replace vlc://quit
cvlc-コマンドラインであり、ウィンドウを開く必要がないためです。また、これはX11なしで実行できることを意味します。
-start-time = 26-スナップショットの正確な位置(秒)
sample-image.png
のように呼び出されるファイルを現在のスクリーンショットに置き換えます。これを省略すると、VLCはスクリーンショットの番号付けを開始します完全なドキュメント こちら