問題タブ [opus]

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.

0 投票する
1 に答える
195 参照

linux - 32 ビット Linux プログラムでの opus

32ビットライブラリを使用して構築されたプログラム(CentOSサーバー上で実行される)にopusを追加しています(つまり、gccコンパイルおよびリンク用の「-m32」、歴史的な理由からこのように構築されています)。バニラの "./configure;make" から libopus.a を使用できますか、それとも強制的に opus を 32 ビットにする必要がありますか? もしそうなら、どうすればいいですか?

0 投票する
2 に答える
2833 参照

voip - .raw voip データを opus にデコードする

RTP パケットを含むこのキャプチャ ファイル (pcap) を取得しましたが、opus によってエンコードされているようです。Wireshark で、ストリームを分析し、raw ファイルとして保存します。これで、オーディオの .raw ファイルを取得できました。http://www.opus-codec.org/downloads/の opus ツールを使用する と、ファイルが .opus ではなく raw であるため、wav に直接デコードできません。この生データは既にエンコードされたストリームの抽出であるため、.opus にエンコードできません。この声を再生するだけです。任意の提案をしてください

0 投票する
2 に答える
1941 参照

rtp - RTPパケットから抽出したopusペイロードをoggコンテナでカプセル化する実装

rfc6716 ごとに RTP opus ペイロードを含むキャプチャされた pcap ファイルがあり、RTP ヘッダーを切り取り、opus ペイロードを抽出できるようになりました。仕様https://datatracker.ietf.org/docごとにペイロードを ogg opus にカプセル化します。 /html/draft-ietf-codec-oggopus-07 (Opus オーディオ コーデックの Ogg カプセル化) を送信して、VLC がキャプチャした opus を再生できるようにします。ogg ファイルに保存してから VLC に再生させたくありません。 、1つのパケットがカプセル化されたら、ogg opusをVLCに直接送信します。カプセル化の参照実装を持っている人、または私が参照できるサードパーティライブラリを持っている人はいますか?

0 投票する
3 に答える
7660 参照

ios - opusを使用してオーディオをエンコードおよびデコードする方法

opusをアプリケーションに統合しようとしています。エンコードおよびデコード関数は正の値を返しますが、これは成功を意味しますが、出力オーディオを再生できません。生のオーディオ データも再生できます。これがデータをエンコードする方法です。各パケットを分離するために 4 バイトのプレフィックスを使用します。

そして、ここにデコード機能があります:

私が欠けているものを指摘するのを手伝ってください。例は素晴らしいでしょう。

0 投票する
1 に答える
2285 参照

webrtc - VP8/OPUS フレームの解析

C言語を使用してLinux環境でwebrtcシミュレーターを開発しています。ここでは、ある webrtc シミュレーターから別の webrtc シミュレーターにメディアを送信する必要があります。VP8 と Opus コーデックを使用する必要があります。今、私は VP8 コーデックから始めています。私は VP8 を初めて使用するので、親切にも理解を深めてください。

  1. シミュレーターなのでリアルタイムでメディアをキャプチャ・再生したくありません。ファイルからオーディオ/ビデオ データを読み取り、リモートに送信する必要があります。リモートで抽出されたメディア データを取得し、ファイルに保存します。

  2. エンコードされた VP8 データを含むファイル形式はどれですか? それはwebmファイル形式ですか、それとも何か他のものですか?

  3. webm ファイルに VP8 および OPUS コーデック データが含まれていると仮定すると (よくわかりません)、どうすればフレームごとに解析できますか。たとえば、AMR-NB ファイルからオーディオ フレームを抽出すると、ファイルから amr フレームを解析できます。同様に、VP フレームの解析ロジックを学習するヘルプ ページはありますか。

  4. または、webm ファイルから VP8/OPUS フレームを解析できるオープン ソースがありますか。

0 投票する
1 に答える
1206 参照

ios - iOS 8 で Opus を使用して PCMBuffer を Ogg にエンコードする

opus コーデックを使用して生のオーディオを ogg パケットにエンコードする必要があります。

私はそのような生のオーディオを取得します:

私のプロジェクトには Ogg.framework と libopus.a があります。Opus を Ogg で実際に使用する方法のドキュメントを理解していないようです。また、必要なものを再現する例は見つかりませんでした。

どんな助けでも大歓迎です!

0 投票する
1 に答える
423 参照

web-audio-api - opus_encode_float の出力が、decodeAudioData への入力として受け入れられないのはなぜですか?

opus オーディオ コーデックの Web ブラウザー サポートは、通常、opus でエンコードされたファイル全体をブラウザーに配信することによって利用されます。これは、たとえば、firefox や chrome で機能することが知られています。私のシナリオは、opus パケットをサーバーからブラウザーにストリーミングするという点で異なります。Linux サーバーでは、opus_encode_float でオーディオをエンコードします。WebSocket を介して Web ブラウザ クライアントに配信されます。ブラウザーでは、Web Audio API の decodeAudioData を使用して、同じデータをデコードしようとします。Firefox と chrome では null 例外で失敗します。

私には、これはうまくいくはずです. ブラウザでのopus実装のステータスを教えてくれる人、または私が間違っていることを教えてくれる人はいますか? 前もって感謝します。

0 投票する
1 に答える
873 参照

opus - E-Model アルゴリズムを使用した opus コーデックの Mos スコア計算

ここで、E モデル アルゴリズムを使用して opus Mos スコアを計算したいと考えています。たとえば、bpl などのいくつかのパラメーターを E モデルに入力する必要があります。つまり、現在、web で opus のこれらのパラメーターの値を見つけることができません。 ? または、他の広く使用されている opus mos のアルゴリズムを知っていますか?

0 投票する
1 に答える
882 参照

webrtc - Webm (VP8 / Opus) ファイルの読み取りと書き戻し

C/C++ で webrtc シミュレーターを開発しようとしています。メディアの取り扱いには、libavを使用する予定です。2つのwebrtcシミュレーター間のメディア交換を実現するために、以下の手順を考えています。2 つの webrtc シミュレーターABがあるとします。

  1. av_read_frame apiを使用して、入力 webm ファイルから A でメディアを読み取ります。
  2. エンコードされたメディア (オーディオ/ビデオ) データを取得すると思いますが、これでよろしいですか?
  3. エンコードされたメディア データをUDP ソケット経由でシミュレータBに送信します。
  4. シミュレータBはメディア データを UDP ソケットで RTP パケットとして受信します。
  5. シミュレータBは、受信したばかりの RTP パケットからオーディオ/ビデオ データを抽出します。
  6. シミュレータBで抽出されたメディアデータは、エンコードされたデータのみであると想定しています(ここで正しいですか)。デコードしたくありません。ファイルに書きたい。後でファイルを再生して、すべてが正しく行われたかどうかを確認します。

この問題を単純化するために、UDP ソケット部分を取り出してみましょう。次に、私の質問は、webm 入力ファイルからデータを読み取り、エンコードされたメディアを取得し、パケットを準備し、av_interleaved_write_frameまたはその他の適切な API を使用して出力ファイルに書き込むことになります。libavを使用してやりたいことすべて。

私が参照できるコード例はありますか。
または、誰かがそれを開発するように私を案内してもらえますか。

テストプログラムで試しています。最初のステップとして、私の目的は、ファイルから読み取り、出力ファイルに書き込むことです。以下のコードがありますが、正しく動作していません。

このプログラムを実行すると、「コーデックが見つかりません」と出力されます。何がうまくいかないのか、誰か助けてください。

コーデックが見つからない問題は、libvpx1.4 バージョンを個別にビルドすることで解決されます。ソースファイルからの読み取りと宛先ファイルへの書き込みにまだ苦労しています。

編集 1: コードの変更後、ファイルに書き込むことができるのはビデオのみですが、さらにいくつかのエラーがまだ存在します。

編集 2: 修正されたコード (2 回目) を使用すると、ビデオ フレームが正しく書き込まれていることがわかります。オーディオ フレームの場合、マクロ_AUDIO_WRITE_ENABLED_の下にコードを追加しました が、このマクロ プログラムを有効にするとクラッシュします。誰かがオーディオ書き込み部分 (マクロ _AUDIO_WRITE_ENABLED_ の下のコード) で何が問題なのかを案内できますか?