問題タブ [libvpx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - webrtc の libvpx KeyError
私はgypを使用してwebrtcのプロジェクトを生成しています。生成中に次のエラーが発生しました:
ファイル "/home/rtcdev/Nishant/src/webrtc/build/gyp_webrtc"、102 行目、gyp_rc = gyp.main(args) ファイル "/home/rtcdev/Nishant/src/tools/gyp/pylib/gyp/ init .py"、526 行目、メイン return gyp_main(args) ファイル "/home/rtcdev/Nishant/src/tools/gyp/pylib/gyp/ init .py"、502 行目、gyp_main params、options.check、options .circular_check) ファイル "/home/rtcdev/Nishant/src/tools/gyp/pylib/gyp/ init.py」、129 行目、Load params['parallel']、params['root_targets']) ファイル「/home/rtcdev/Nishant/src/tools/gyp/pylib/gyp/input.py」、2756 行目、 Load RemoveLinkDependenciesFromNoneTargets(targets) ファイル "/home/rtcdev/Nishant/src/tools/gyp/pylib/gyp/input.py"、1501 行目、RemoveLinkDependenciesFromNoneTargets の場合、targets[t].get('variables', {}) .get('link_dependency', 0): KeyError: 'third_party/libvpx/libvpx.gyp:libvpx_obj_int_extract#host'
質問:
このエラーが伝えたいことと、このエラーを克服する方法がわかりません。
ffmpeg - ffmpeg は VP9 でエンコードすることを好みますが、VP8 でエンコードしようとしています
特にVP8でwebmビデオファイルをエンコードしようとしていますが、ffmpegはVP9を強制しています。私が使用して-c:v libvpx
いるのは、私の知る限り VP8 であるはずですが、エンコードすると、代わりに VP9 でエンコードされていることがわかります。
私が持っているビルドにはフラグが--enable-libvpx
あります。--enable-libvpx-vp9
これは最新のデフォルトの静的ビルドでもあります。変更は加えず、抽出しただけです。ffmpeg-20160828-a37e6dd-win32-static.zip
古いビルドを長い間使用していて、今日更新しました。この問題の解決に役立つドキュメントがオンラインで見つかりません。
video - x264 と libvpx-vp9 を使用した FFmpeg CRF コントロール
x264でffmpegを使用した経験があり、libvpx-vp9と比較したかった. x264 と libvpx-vp9 の両方で crf 設定とプリセットを変更して、生のビデオの単純なシングル パス エンコーディングをテストしました。私はlibvpxを初めて使用し、これとこれを慎重にフォローしましたが、取得した結果があまり意味をなさないため、パラメーターの間違った組み合わせを指定した可能性があります。
x264 の場合:
そして、次の結果を得ました。
これは私には理にかなっています。crf 値を指定すると PSNR の値が得られ、プリセットを変更するとビットレートは減少しますが、エンコード時間は増加します。
libvpx-vp9 の場合、次のことを行いました。
まず、オンラインのチュートリアルから、このオプションはx264-cpu-used
と同等であると考えました。-preset
あれは正しいですか?もしそうなら、との違いは-quality
何ですか?さらに、範囲は -8 から 8 までであるため、正の値が最も遅いオプションである負の値を想定しました。私が得る結果は非常に混乱しています:
ビットレートは非常に低く、PSNR はcrf
設定の影響を受けないようです (x264 に比べて非常に低い)。この-cpu-used
設定の影響はごくわずかで、-2 と 2 は同じオプションのようです。何が欠けていますか? libvpx はエンコードに時間がかかると予想していましたが (これは間違いありません)、同時により高品質のトランスコードを実現しました。x264 と公平に比較するには、どのパラメーターを使用すればよいですか?
編集: @mulvya とこのドキュメントのおかげで、libvpxを使用して crf モードで動作するには、-b:v 0
. テストを再実行すると、次のようになります。
追加でPSNRとビットレートが大幅にアップ-b:v 0
linux - ffmpeg がカメラに再接続するのを待っているときに、空白のフレームを追加しますか?
私が使用しているコマンドはこれです。
MJPEG ストリームを取り、それを WEBM に保存して 1 つの出力にし、別の出力を別の目的で使用するため、stdout に直接出力します。
それはうまくいきます。唯一の問題は、カメラへの接続が切断されると、再接続された場所からつなぎ合わされることです。
切断する間に空白のフレームを追加したいと思います。それを検出するオプションまたは方法はありますか?次に、標準入力でデータをプッシュできますか?
空白フレームを追加する目的は、実際のストリーム自体から「フレームが欠落している」場合でも、適切な長さになるようにすることです。
cmd - ffmpeg と libvpx を使用して多くの画像から webm をエンコードする際のエラー
私が使用したコマンドは次のとおりです。
出力は次のとおりです。
エラーは次のとおりです。
と
問題の原因が正確にはわかりません。このチュートリアルに従いましたが、エラーについては言及されていませんでした。私はオーディオを使用していないことに言及する必要があるため、オーディオエンコーダーを除外しました(確認するためにオーディオエンコーダーで試してみましたが、それは問題ではありませんでした)