ビデオから抽出されたffmpegパイプ画像


8

次のコマンドを使用すると、ffmpegを使用してビデオから画像を抽出し、ファイルシステムに保存できます。

... | ffmpeg -i - -f image2 'img-%03d.png'

これらの画像をファイルシステムに保存するのではなく、別のアプリケーションにパイプしたいのですが、自分で制御するのはNodeJSスクリプトなので、パイプで画像を分離する方法はあまり重要ではありません。

以下は機能しません。

... | ffmpeg -i - -f image2 pipe: | ...

エラー

[image2 @ 0xe1cfc0] Could not get frame filename number 2 from pattern 'pipe:' (either set updatefirst or use a pattern like %03d within the filename pattern)
av_interleaved_write_frame(): Invalid argument

ファイルシステムを使用せずに、ffmpegを使用してビデオから抽出された画像をパイプアウトする方法はありますか?


試す-f png - | ...
Gyan

@Mulvyaこれにより、でエラーが発生し[NULL @ 0x10e2860] Requested output format 'png' is not a suitable output format pipe:: Invalid argumentます。
Birjolaxew 2016年

2
お試しください-f image2pipe -vcodec png - | ...。PNGが機能しない場合、vcodecを削除した後、出力はMJPEGになります。
Gyan

@Mulvyaそれは確かにうまくいきました。:)
Birjolaxew

回答:


7

はいあります!

引数を追加し-f image2pipe、出力ファイル名を単一のハイフン(-、このコンテキストではを意味stdoutします)として指定し、入力ファイル名も単一のハイフン(-i -、このコンテキストではを意味しstdinます)として指定し、出力形式を明示的に指定します(例:pngの場合) :)-c:v png、ここに完全な例があります:

ffmpeg -i - -ss 00:00:3 -s 650x390 -vframes 1 -c:v png -f image2pipe -
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.