FFmpeg: ストリームの moov アトムを先頭に移動し、結果を標準出力に送信します

FFmpeg: ストリームの moov アトムを先頭に移動し、結果を標準出力に送信します

FFmpeg を使用して入力ストリームからサムネイル画像を抽出し、その結果を stdout に送信しようとしています。このコマンドを使用しています: ffmpeg -i - -ss 00:00:01.000 -vframes 1 -c:v png -f image2pipe -。これは、入力に MP4 コンテナーがある場合は問題なく動作しますが、MOV の場合は動作しません。「未指定のピクセル形式」エラーが発生します。

次のコマンドを使用して moov アトムをファイルの先頭に移動しffmpeg -i - -c copy -movflags faststart out.mov、ファイルを前のコマンドにパイプすると、すべてが期待どおりに動作します。ただし、新しいファイルをディスクに書き込まずにこれを実行したいと思います。muxerffmpeg -i - -c copy -movflags faststart -f mov -がシーク不可能な出力をサポートしていないため、コマンドは出力ストリームの初期化に失敗します。

ファイルを書き込まずに、バッファを使用してこれを実現する方法はありますか? 私は FFmpeg を使い始めたばかりなので、私のアプローチでは何かが足りないかもしれません。断片化された出力も試してみましたが、ffmpeg -i - -c copy -movflags frag_keyframe+empty_moov -f mov -その場合も同じ「未指定のピクセル形式」エラーが発生します。

関連情報