問題タブ [vp8]
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.
linux - Linux で VP8 HW のエンコード/デコードが実際に機能していることを確認します。
「ASRock」の「Beebox」を持っています。このマシンのプロセッサは、VP8 ビデオ ストリームのハードウェア エンコーディングおよびデコーディングをサポートする Intel Celeron N3150 です。この機能を Google Chrome (Debian Linux) で使用して、WebRTC 呼び出しを行いたいと考えています。しかし、Chrome が実際に HW エンコード/デコードを使用していることを証明する方法がわかりません。
これまでの私の調査結果
残念ながら、Linux の状況は非常に混乱しています。さまざまなアクセラレーション API (VAAPI、VDPAU など) は別として、Chrome が実際に使用しているものはどれかわかりませんが、Chrome は次のように言ってさらに混乱を招きます。
ビデオ デコード: ソフトウェアのみ、ハードウェア アクセラレーションは利用不可
ビデオ エンコード: ハードウェア アクセラレーション
「chrome://gpu」ページで。
エンコーディング:エンコーディングが高速化されていると言っていますが、HD ビデオを VP8 ストリームとしてエンコードする場合、CPU 負荷は 60 ~ 70% になります。これは私には HW エンコーディングのようには見えません。
デコード: Web で読む限り、HW デコードは Linux の Chrome ではまったくサポートされていないようです。--ignore-gpu-blacklistと呼ばれる Chrome スイッチがあります。これは実際に「Video Decode」行を「Software only ...」から「Hardware Accelerated」に変更しますが、これは何も変更しません。また、Kodi や VLC などのさまざまなメディア プレーヤーについて調査も行いました。これらのプレーヤーは VP8 を再生すると約 25 ~ 30% の CPU 負荷を示しますが、これは確かに HW デコードである可能性がありますが、驚くべきことに、これらのプレーヤーで HW エンコードをオフにしてもまったく変化がありません。そのため、これらでさえハードウェアでデコードされないと私は信じています。
ツール: Intel からのものも含め、いくつかのツールを見つけましたが、それらのほとんどは GPU 負荷 (3D アクセラレーションを意味します) に関するものです。mesa-utils のglxinfoも試してみましたが、「直接レンダリング: はい」と書かれており、このスレッドによると、HW デコード (?) がサポートされていることが確認されています。ただし、これはサポートが利用可能であることを示しているだけであり、現在アプリケーションが実際にサポートを使用しているかどうかを示しているわけではありません。
質問
Linux で VP8 ビデオ ストリームがエンコードまたはデコードされているときに、ハードウェア エンコーダーやデコーダーが動作しているかどうかを明確に確認する方法はありますか?
どうもありがとうございました。
video - 圧縮された VP8/VP9 ビデオの ssim 値を計算するために ffmpeg を使用する方法は?
HEVCビデオがあります。以下のFFmpegコマンドを使用して、VP8およびVP9に変換しました。
変換は非常に成功しました。しかし、以下のFFmpegコマンドを介して計算したssim値:
VP8 と VP9 の両方のビデオで、 より小さい ssim 値が得られました0.99
。これらは私が予想していなかった悪い結果でした。
HEVC ビデオを x264 に変換すると、ssim 値は正常になります。
コマンドに問題はありますか?
c++ - OpenH264 のパフォーマンスとエンコードされたデータのサイズ (SEncParamExt)
OpenH264 C++ ライブラリを使用して、960x540 ビデオで毎秒約 24 フレームを取得しようとしています。SEncParamExt のさまざまなパラメーターを試しましたが、エンコードされたデータが小さくなる代わりにコーデックのパフォーマンスが向上しません。私のコンピュータでは約 16 ~ 20 fps が得られます。
これが私の現在の構成です。
param.iComplexityModeとparam.iRCModeに異なる値を試してみたところ、必要なフレーム レートが得られましたが、画質が非常に悪かったです。また、量子化レベルで遊んでみましたが、役に立ちませんでした。
また、VP8コーデックを使用しています。同じビデオで毎秒 24 フレームを簡単に生成できます。エンコードされたデータのサイズは大きくなります (OpenH264 の場合は毎秒 200Kb に対して約 500Kb です) が、私にとっては非常に便利です。
私は何を間違っていますか?OpenH264 のパフォーマンスを向上させるにはどうすればよいですか?
webrtc - WebRTC はビデオのアダプティブ ビットレート ストリーミングをサポートしていますか?
アプリケーションの開発に WebRTC を使用しています。WebRTC がビデオ パケットのアダプティブ ビットレート ストリーミングをネイティブにサポートしているかどうかは不明です。VP8 / VP9 はアダプティブ ビットレート エンコーディングをサポートしていますか? bitrate_controller WebRTC の ABR の実装ですか?
誰でもこれにもっと光を当てることができますか?WebRTC がビデオのアダプティブ ストリーミングをネイティブにサポートしているという決定的な証拠は見つかりません。
java - RTP vp8 ストリームを webm ファイルに保存する
RTP (vp8 コーデックを使用) ストリームをファイルに保存しました。ここで、有効な webm ファイルを取得するために、ヘッダー情報を追加する必要があります。動画のメタ情報を追加するにはどうすればよいですか?
前もって感謝します
.net - ビデオ通信について
私は、mvc web および wpf アプリケーションを開発している .Net 開発者です。現在、コンタクトセンターのプロジェクトに取り組んでいます。私は一口のエンドポイントとそれらのための多くのデスクトップ アプリケーションを構築しました。そのため、新しいプロジェクトでは、顧客向けのビデオ会議アプリケーションを開発する必要があります。私は、ビデオ conf に関連する開発を行ったことがありません。彼らが言ったように、彼らは私たちのサーバーに http リクエストを送信し、必要なものを取得します。今のところは問題ありませんが、ビデオには h.263 および h.264 ビデオ コーデックを使用しています。私はsipエンドポイントにいくつかのSDKを使用しました。そのSDK(リファレンスマニュアル)では、VP8ビデオコーデックのサポートと書かれています。それがよくわからなかった。通信用に h.264 のコーデック機能を追加する必要がありますか (どうすればよいですか)? 顧客のサイトで、顧客担当者をどのように見ることができますか? 私は本当にこれを掘り下げます、私は声については問題ありません。しかし、声は私にとって新しいものであり、この種の開発への入り口はありませんでした. 誰かが私の道を照らすことができますか?
ありがとうございました。
c++ - ffmpeg ベースのプログラムで VP8 エンコーダ オプションをプログラムで渡す方法
標準のffmpegトランスコーダーの例に基づいて、ffmpegライブラリを使用してプログラムを構築しています。私の目的は、適切なビデオ (つまり、ffmpeg が読み取れるもの) を WEBM 形式にエンコードするビデオ トランスコーダを構築することです。問題は、オプションを VP8 エンコーダーに渡して、出力ビデオの品質やその他のパラメーターを制御する方法です。これらのオプションを C++ コード経由で渡すことを意味します。