4

HTML5 再生をサポートするには、MP4 と WebM にトランスコードする必要があるため、Web サイトで Web カメラ ビデオの記録をサポートしようとしています。サーバーにffmpeg 1.2がインストールされており、プロセス全体がかなりうまく実行されています。

私が抱えている 1 つの問題は、FLV を MP4 にトランスコードすることです。容認できないほど遅いです。たとえば、8 秒の FLV のトランスコードには約 2.5 分かかります。

ffmpeg私が使用しているコマンドは次のとおりです。

ffmpeg -y -i webcam.flv -c:a libfaac -ac 2 -b:a 64k -ar 44100 -c:v libx264 \
  -b:v 350k webcam.mp4

非常に多くのパラメーターがあるためffmpeg、この問題を解決する最善の方法について少し迷っています。ここからテスト flv をダウンロードできます。

dropbox.com/s/hhd6uhdiuhk800w/webcam.flv

比較すると、WebM へのトランスコードには約 5 秒かかります。

ffmpeg -y -i webcam.flv -c:a libvorbis -ac 2 -b:a 64k -ar 44100 -c:v libvpx \
  -b:v 350k -metadata:s:v:0 回転=0 webcam.webm
4

1 に答える 1

4

わかりました私は答えを見つけました。ffmpeg の出力を詳しく見てみると、次のことに気付きました。

[mp4 @ 0xa0060c0] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2

や。出力ファイルの前の最後のパラメーターとして「-vsync 2」を追加すると、魅力的に機能し、トランスコーディング時間が約10秒に短縮されました! とても幸せです。

すべてのタイプの a/v 入力に対して「一般化された」ffmpeg 設定を作成することは、私には黒魔術のように思えます...

于 2013-04-12T07:47:40.940 に答える