web-dev-qa-db-ja.com

データをstdoutにパイプするときにFFMPEGエラー-22を受信する

FFMPEGを使用してaviファイルをmp4にトランスコードし、次のコマンドを使用してデータをstdoutにパイプしようとしています(技術的にはNodeJSを使用しますが、コマンドラインで次のコマンドを直接実行すると同じエラーが発生します)。

ffmpeg -i myavi.avi -vcodec libx264 -acodec libvo_aacenc -f mp4 pipe:1

このエラーが発生します:

Could not write header for output file #0 (incorrect codec parameters ?): Error number -22 occurred.

この次のコマンドを実行すると、すべてが期待どおりに機能します。

ffmpeg -i myavi.avi -vcodec libx264 -acodec libvo_aacenc -f mp4 newmp4.mp4

私はWindowsでFFMPEGを使用している(または試みている)ことに注意してください-ここで何が起こっているかについて何かアイデアはありますか?

編集:最後の注意点として、私が使用しているFFMPEGのバージョンはN-63439-g96470caで、2014年5月25日にビルドされました( http:// ffmpegのWindows静的ファイルで利用可能なFFMPEGの最新バージョン)。 zeranoe.com/builds/ )。

2
dvlsg

mp4コンテナには、ファイル内をシークする機能が必要です。パイプは小川であり、内部を探すことは不可能です。 tsやflvなどのストリーミングコンテナを使用してみてください。

5
szatmary