問題タブ [sdp]
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.
ffmpeg - FFMpeg が SDP 情報をコンソールに出力しない
FFMpeg ストリームを作成して VLC プレーヤーから読み取ろうとしましたが、SDP が必要であるというエラーが表示されます。ただし、FFMpeg は、想定どおりに SDP 情報をコンソールに出力しません。ストリームの SDP ファイルを取得するにはどうすればよいですか?
ストリーミングに使用しているコマンドは次のとおりです
android - Bluetooth/BlueZ サーバーに接続できません: RFCOMM ソケットを作成できませんでした
Linux ラップトップと Android フォンの間にシンプルでカスタムの Bluetooth 接続を作成しようとしています。Linux 側では、BlueZ libbluetooth ライブラリを使用してサーバーをセットアップします。そのコードは、github に出回っている他のコードと非常によく似ています。
Linux でサーバー側のコードをエラーなしで実行できます。
次にsdptool
、RFCOMM ソケットとサービスを確認するために使用できます (説明、チャネル番号、およびその他のすべての情報は正しいようです)。
さて、Android 側では、まず標準設定画面を介して電話を Linux サーバーにペアリングします。ペアリングしたら、Android 側のコードを使用して Bluetooth デバイスをスキャンし、Linux デバイスの場合は接続を試みます。接続を確立するために、スタックオーバーフローで人々が提案した2つの異なる方法を試しました。
tmp.connect()
実際に呼び出しを試みると、次の例外がスローされ続けます。
接続を作成しようとする際に、ここで私が間違っていることを誰かが見ていますか? 呼び出すとUUIDが返されることに注意してください...UUID uuid = device.getUuids()[0].getUuid();
これにより、ペアリングがOKであると信じるようになり、値が返されます00001103-0000-1000-8000-00805f9b34fb
。
sip - sdp の profile-level-id から h264 プロファイルとレベルを識別しますか?
SIP ビデオ コールでは、ビデオ ストリームの受信側がデコーダの機能で応答します。
それを定義するパラメータはprofile-level-id
. profile-level-id パラメータの値の例: 428014
RFC 6184 では、次のように定義されています。
シーケンス パラメータ セット NAL ユニット内の次の 3 バイトの base16 [7] (16 進数) 表現は、1で指定されます。 、constraint_set2_flag、constraint_set3_flag、constraint_set4_flag、constraint_set5_flag、およびreserved_zero_2bitsを、最上位ビットから開始して、ビット重要度順で、および3)level_idc.
それによると、例の値から次のパラメーターを特定できます。
- profile_idc 42
- プロファイル iop 82
- レベルIDC 14
これらの数値をh264 用に定義されたプロファイルとレベルに関連付ける方法は?
javascript - エラー : トランスポートの説明をプッシュできませんでした: リモート フィンガープリントを適用できませんでした
オファー/アンサー メカニズムがアプリケーションに正しく実装されているかどうかを確認するために、2 つの単体テストを作成しました。最初の単体テストでは、オファーを受信したときのピアの動作を検証します。2 番目の単体テストでは、ピアがオファーを作成したときの動作を検証します。単体テストでは、次のモック オファーとモック アンサーを使用しました。
オファー :
答え :
注 : これらは、createAnswer および createOffer メソッドを使用して生成されています。
- 最初の質問は、なぜ 2 つの指紋フィールドがあるのですか?
最初の単体テストは、ピアがリモート オファーを受信し、回答を返すシナリオを反映しています。オファーで setRemoteDescriptor を呼び出し、次に答えで serLocalDescriptor を呼び出します。このテストは問題なく動作し、エラーはスローされず、実行されたアクションに応じて SignallingState が変更されます (つまり、setRemoteDescriptor によって SignalingState が have-remote-offer などに変更されます)。
単体テスト :
2 番目の単体テストでは、同じモックの回答とオファーを使用しますが、ピアがローカル オファーを作成して設定し、リモート ピアから受信した回答をリモート オファーとして設定するシナリオを反映しています。テストは、オファーを指定して setLocalDescriptor を呼び出します。その結果、SIngnalingState は have-local-offer に変更されます。次に、mockAnswer を使用して setRemoteDescription が呼び出されます。この呼び出しにより、次のエラーが生成されます。
原因は何ですか?私は何か間違ったことをしていますか?オファーとアンサーのフィンガープリントはまったく同じであり、フィンガープリントに問題がある場合は、最初の単体テストにも問題があるはずです。私は無知です。アドバイス、提案は大歓迎です。:D
単体テストの失敗:
エラーが生成された場合の RPCPeerConnection オブジェクト:
ソースコード全体はここにあります
さらに情報が必要な場合はお知らせください。
h.264 - H264 profile-iop の説明
sdp の profile-level-id から h264 プロファイルとレベルを識別しますか?
制約が実際に何を意味するのかをどのように識別しますか? たとえば、次のようにprofile-type-id: 42801e
変換される があります。
ここの表で定義されている機能にそれをどのように関連付ければよいでしょうか?
上記の参照は、それがConstrained Baseline ProfileConstraint_set0_flag: 1
であることを意味することを示しています。しかし、ベースライン プロファイルと制約付きベースライン プロファイルを区別する 3 つの異なる NO (表から) にフラグを関連付けるにはどうすればよいでしょうか。
アップデート
Constrained Baseline profile
の特定について、上記が正しいことを確認できません。その声明の参照(306ページ):
最初の条件のみが満たされているように見えますが、2 番目の条件は false です。ベースライン プロファイル状態のパラメーター
特定のレベルでベースライン プロファイルに準拠するデコーダーは、profile_idc が 66 に等しいか、constraint_set0_flag が 1 に等しく、level_idc および constraint_set3_flag が指定されたレベル以下のレベルを表すすべてのビットストリームをデコードできるものとします。
そして、それらは両方とも存在します。