問題タブ [libnice]
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.
sip - Farstream による VoIP (SIP、ICE)
基本的な VoIP (オーディオ + ビデオ) プログラムを実行しています。ユーザーが NAT の背後にいることは (おそらく) ありませんが、100% の保証はないので、ICE(libnice) を使用する必要があります。
また、ユーザー同士が通話できるようにするためには、SIP が必要です (ユーザーが自分自身を登録して、他のユーザーに電話をかけることができるようにするため)。
いくつかの SIP サーバーを探した後、 http://www.opensips.org/を選択すると思います。
私の質問は次のとおりです。ファーストリームのみを使用して SIP を実行できますか、それともテレパシーまたは何か他のものが必要ですか?
そして、より一般的な質問: 私は正しい道を進んでいますか?
c++ - libnice を win32 用の最新の GLib でコンパイル中に GLib 構文エラーが発生する
いくつかの必要な背景:
Libnice (p2p ライブラリ) は 2.28 Glib を使用してコンパイルされることを意図していました (これは win32 コンパイルの readme https://github.com/jcaden/libnice/blob/master/README.win32です)、
しかし公式の例
(これはhttp:// cgit.collabora.com/git/user/kakaroto/libnice.git/plain/examples/sdp-example.c)、 libnice
の前にコンパイルされた実装は、明らかに最新のglibのものを使用して書かれました。
古いもの用の例を書き直すことは可能だと思いますが、最新の glib はよりエレガントで全体的にクールなので、それを使用したいと思いました。
さて、私の質問:
Visual Studio 2010 を使用して、最新の GLib ( http://www.gtk.org/download/win32.phpから入手) を使用して Libnice をwin32 用にコンパイルしようとすると、いくつかの構文エラー (それらの多く) が発生します。ここでログを見ることができ
ますhttps://gist.github.com/anonymous/71e2a80e57eb4b8ae6c1
PS: 最新の GLib を使用するために、readme に記載されているものと同じものをダウンロードしました。つまり、Glib dev とランタイム、zlib と gettext ランタイムです。
android - Android 用の libnice のコンパイル
Android用にlibnice(具体的にはv0.18)をコンパイルしようとしていますが、いくつかの問題が発生しました。libnice を Android 用にコンパイルするにはどうすればよいですか? これまでの試みを以下にリストしました。
1 回目の試行
私の最初の試みは、カスタムの Android.mk makefile を使用することでしたが、エラーが表示されましたAI_NUMERICHOST undeclared
(追加#include <netdb.h>
してもこれは解決されず、ここではアイデアがありません)。以下の Android.mk を参照してください
スタティック ライブラリは gstreamer 1.4.1 デバッグ バージョンからコピーされ、以下のガイドに従って選択されます。
2回目の試行
次に、このガイドを参照して静的ライブラリをコンパイルしようとしましたが、これが再び問題を引き起こしています。
これにより、以下のエラーが発生します。CFLAGS に-mthumb
orを追加すると、 configure 中にエラーが発生します。-marm
C compiler cannot create executables
上記の行には ASM は含まれていませんが、htons
andntohl
を呼び出しているため、何か間違ったことをしたと思います...
ツールチェーンを作成するために、さまざまな Android バージョンを使用make_standalone_toolchain
して NDK から使用しました。
誰でも助けることができますか?前もって感謝します!〜
video-streaming - libnice と gstreamer によるビデオ ストリーミング
IP カメラから NAT の背後にあるリモート PC にビデオをストリーミングしたいと考えています。この目的のために、私は libnice と gstreamer を使用しています。
一方では、以下のパイプリングを実装しました。
rtspsrc <-> ナイスシンク
リモート クライアント パイプライン
nicesrc <-> rtph264depay <-> h264parse <-> ffdec_h264 <-> autovideosink
しかし、リモート クライアントでビデオ ストリームを取得できません。リモート クライアントの nicesrc 要素でビデオ パケットを取得していますが、上記のパイプラインでは、ビデオを見ることができません。
リモートクライアントの nicesrc 要素にパケットが来ていることを知るにはどうすればよいですか:
libnice の受信コールバックでバッファ長の出力を取得しています。そこから、ビデオを h264 形式で録画して再生することもできます。ただし、リモート クライアントの上記のパイプラインではライブ ストリーミングは行われません。
また、gstreamer パイプラインに capfilters を含めようとしましたが、成功しませんでした。どんな助けでも感謝します。ありがとう
autotools - AS_IF および AC_MSG_ERROR: エラー: マクロが定義されていない可能性があります
libnice-0.1.10 をビルドしようとすると、このようなエラーが発生します。解決策として、おそらく未定義のマクロ AC_MSG_ERRORに従っていますが、まだそこに到達していません。
いくつかのプログラムのバージョン
も追加ACLOCAL_FLAGS="-I /.../share/aclocal"
し~/.bashrc
ます。
からの報告ですautogen.sh
。
助けてくれてありがとう!
android - リンカ エラー Android - ndk:`G_STATIC_ASSERT' への未定義の参照
私は arm64-v8 用の android プロジェクトをビルドしています。NDK-r10e を使用しています。その依存関係 (Glib 2.35.8) を使用して Libnice 0.13 をビルドし、Glib のすべての依存関係をコンパイルしました (intl、iconv、ffi)。そのため、Glib の静的ライブラリを構築し、その glib ライブラリを使用して Libnice 静的ライブラリを構築することに成功しました。今、私はこれらの静的ライブラリを使用して Android プロジェクトをビルドしていますが、次のエラーが発生しています。これらのライブラリをビルドする時点ではすべてがうまくいったため、このリンカー エラーが発生する理由がわかりません。
ssl - libnice で GTlsClientConnection を作成するときに「TLS サポートは利用できません」
2 つのピアがリレー サーバー (coturn) 経由で接続している作業コードがあり、疑似 TCP 経由ではすべて問題ないようです。と でメッセージ交換を正常にテストしましnice_agent_attach_recv()
たnice_agent_get_io_stream()
。
しかし、作成しようとすると、次のGTlsClientConnection
ように返されます。0:TLS support is not available
ここにいくつかの部分的なコードがあります:
libnice と glib は初めてです。だから、私は何か基本的なものを見逃しているかもしれません。
java - イベントがkurento Javaサーバーに到達しない
私は Kurento メディア サーバーを初めて使用します。kurento メディア サーバーから、持っている Java アプリケーションにイベントを送信しようとしています。
次の手順を使用してイベントを作成しました。
interface
jsonファイルを編集しました:
次に、私の.hpp
ファイルで:
そして私の.cpp
ファイルで:
私のJavaサーバーでは、次を使用してイベントに登録しました。
しかし、これをすべて行った後、kms からイベントを受信できません。送信されているイベントのログを取得している kms ログを調べましたが、Java サーバー側でイベントを取得していません。
コードに欠けているものはありますか?
編集1: Eclipseコンソールでこのログを取得します
編集2:
以下はの出力ですdpkg -l | egrep -i "kurento|nice|kms"
node.js - libnice での Kurento Media Server 6.4 セグメンテーション違反
最新の Kurento Media Server (6.4) と node.js アプリを 1 対 1 の通話に使用しています。ただし、Kurento プロセスは libnice 内で時々クラッシュします: (複数のクラッシュが同じ lib エントリを指しています)
同時に、ログ ファイルに記録される最新のデバッグ イベントは、氷の候補の組み合わせです。
startCommunication
アプリケーション ログは、両方の SDP 応答が生成された直後で、コマンドが実行される直前にエラーが発生したことを示しています。
完全なスタック トレースとログインは、この要点で確認できます
これは、2 つの Chrome ブラウザ (Mac + Win) を使用して、10 ~ 15 回の呼び出し (呼び出し - ハング - 呼び出し - ハング ..) を行うことで再現できます。
誰かがヒント、提案、指示を与えることができれば、本当に感謝しています. ありがとう!
reciprocate-turn-server 1.9.7
UPD:TURNサーバーをからに切り替えた後、問題は解決しましたcoturn 4.4.2.1