3

私はこのようなものをやってのける必要があります:

foo.user$ ffmpeg -i -y foo.mediafile -ss 0 -vframes 1 -an out.jpg | gm identify out.jpg

基本的には、ffmpegを使用してビデオフレームまたは静止画像のサムネイルを作成し、その上でgmを実行する必要があります。out.jpgに書き込むことなく、サムネイルを直接gmにパイプするにはどうすればよいですか(またはサムネイルではなく、同じサイズである必要があります)。ffmpeg配管/gmに精通している人は私に手を貸してくれませんか?-ありがとう!!

PS役立つ場合、このプロセスはサーバー側のJavascriptから実行されています。

4

1 に答える 1

4

自分で答えた:

ffmpeg -i test.jpg -f mjpeg -ss 0 -vframes 1 -an - 2>/dev/null | gm identify -ping -verbose -

これは、test.jpg(または他のファイル、.ogv、.pngなど)を取得し、ffmpegで処理してから、gmで実行するために機能します。重要なビットはダッシュです。ダッシュは無名パイプ出力として機能します。また、パイプをjpeg形式に強制するための-fmjpegも重要です。最後に、2> / dev/nullは最初のコマンドを無音にします。

于 2011-07-28T02:01:35.747 に答える