标签: libjingle

使用libjingle在Android上创建一个带有"自定义"Capturer的WebRTC VideoTrack

如何使用"自定义"视频捕获器来创建VideoTrack并提供帧?

创建VideoTrack的经典方法是:

1 - 获取VideoCapturer实例

VideoCapturer capturer = VideoCapturer.create(name);
Run Code Online (Sandbox Code Playgroud)

2 - 创建一个VideoSource

VideoSource videoSource = peerconnectionFactory.createVideoSource(capturer, videoConstraints);
Run Code Online (Sandbox Code Playgroud)

3 - 使用视频源创建VideoTrack

VideoTrack videoTrack = peerconnectionFactory.createVideoTrack("Label", videoSource);
Run Code Online (Sandbox Code Playgroud)

4 - 将轨道添加到MediaStream


我想知道是否有办法改变第一步.不使用本机Capturer实例,而是使用Android版本,并使用回调为VideoTrack提供框架:

public void onPreviewFrame(byte[] data, Camera camera) {
   // provide the frames to the VideoTrack
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

android libjingle webrtc

53
推荐指数
1
解决办法
2954
查看次数

Android实时多人游戏 - 房间创建失败

我正在使用Android Play Games - Real Time Multiplayer我的应用程序.当我创建一个新房间时,回调onRoomCreated()返回STATUS_NETWORK_ERROR_NO_DATA5%的时间.我不知道为什么我偶然发现这个错误.

某些帖子建议应在创建新帖子之前关闭.我总是在super.onstop()打电话之前离开我的房间.我也在onLeftRoom()创建一个新房间之前等待回调.

堆栈跟踪

02-20 22:57:07.208: I/libjingle(1763): Token type:OAuth2
02-20 22:57:07.208: I/libjingle(1763): Final XMPP server hostname talk.google.com port to 5222
02-20 22:57:07.316: I/libjingle(1763): OpenSSLAdapter::OnConnectEvent
02-20 22:57:07.416: I/libjingle(1763): BeginSSL: talk.google.com
02-20 22:57:07.476: W/libjingle(1763): Warning(openssladapter.cc:388): ContinueSSL -- error -1
02-20 22:57:07.480: W/libjingle(1763): Warning(openssladapter.cc:397): OpenSSLAdapter::Error(ContinueSSL, -1)
02-20 22:57:07.504: I/libjingle(1763): SSL Cleanup
02-20 22:57:07.532: I/libjingle(1763): Token type:OAuth2
02-20 22:57:07.532: I/libjingle(1763): Final XMPP server hostname talk.google.com port to 5222
02-20 …
Run Code Online (Sandbox Code Playgroud)

android multiplayer libjingle google-play-games

42
推荐指数
1
解决办法
1401
查看次数

原生Android WebRTC应用程序开发

我正在尝试使用WebRtc Native apis创建一个用于视频聊天和消息传递的Android应用程序.我已经通过几个链接,发现android的大部分文档都很模糊,特别是如果你不知道从哪里开始.我按照以下链接,

https://webrtc.org/native-code/android/#

https://www.chromium.org/developers/how-tos/android-build-instructions

但上面提到的链接没有任何意义,因为我想开发一个Android应用程序,这些链接建议下载铬然后构建它.我知道最终的结果将是一个apk,但如果我想编码自己怎么办.我也查看了pubnub和OpenTokRtc,但我也不想使用某些elses信令服务(以及pub和sub键).我尝试了以下链接,

https://github.com/pristineio/webrtc-build-scripts

但对于WebRTC的新手而言,这似乎有点不完整,因为它建议通过以下命令获取WebRtc,

# Pull WebRTC
get_webrtc
Run Code Online (Sandbox Code Playgroud)

最后我尝试了以下链接,

http://simonguest.com/2013/08/06/building-a-webrtc-client-for-android/

但是本教程的问题在于它根本没有更新.Libjingle现在已经转移到github,我不知道如何使用gclient从github获取libjingle.

我的这场斗争是一场灾难.任何人都可以帮我一些更新的文档或教程,我可以用它来了解我需要使用webRTC native apis开发应用程序到底需要什么?请不要给我任何OpenTokRtc或PubNub的链接.

谢谢

android libjingle webrtc signaling openwebrtc

26
推荐指数
3
解决办法
2万
查看次数

将Objective-C Framework(CocoaPod)导入Swift?

我正在尝试将libjingle_peerconnection框架导入我的Xcode项目,但由于某种原因,我无法import RTCICEServer在Swift源文件中导入Objective-C头.我试图使用头文件等.我做错了什么?

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!

target 'VideoRTCTest' do
    pod "libjingle_peerconnection"
end

target 'VideoRTCTestTests' do

end

target 'VideoRTCTestUITests' do

end
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

objective-c libjingle ios cocoapods swift2

9
推荐指数
1
解决办法
4972
查看次数

Ruby Jabber/Jingle库

你知道任何记录良好的库来处理Ruby中Jabber的Jingle(音频/视频)扩展吗?

ruby xmpp libjingle

8
推荐指数
1
解决办法
864
查看次数

编译libjingle的问题

我下载并安装了libjingle-0.5.2.zip,并根据README还下载并安装了swtoolkit.0.9.1.zip,scons-local-2.1.0.alpha.20101125.tar.gz和expat-2.0. 1.tar.gz,并通过cvs下载获得nrtp.在覆盖了我的Makefile两次,尝试按照写得很差的自述文件后,我想出了几乎可以工作的以下Makefile:


# First, make sure the SCONS_DIR environment variable is set correctly.
SCONS_DIR ?= /usr/src/scons-local/scons-local-2.1.0.alpha.20101125/
#SCONS_DIR ?= /usr/src/scons-local/
export
default: build
# Second, run talk/third_party/expat-2.0.1/configure...
talk/third_party/expat-2.0.1/Makefile:
    cd talk/third_party/expat-2.0.1 && ./configure
# ...and talk/third_party/srtp/configure.
talk/third_party/srtp/Makefile:
    cd talk/third_party/srtp && ./configure
# Third, go to the talk/ directory and run $path_to_swtoolkit/hammer.sh. Run
# $path_to_swtoolkit/hammer.sh --help for information on how to build for
# different modes.
build: talk/third_party/expat-2.0.1/Makefile talk/third_party/srtp/Makefile
    cd talk && ../../swtoolkit/hammer.sh
help:
    ../swtoolkit/hammer.sh --help
Run Code Online (Sandbox Code Playgroud)

但是,make给我以下错误:

jcomeau@intrepid:/usr/src/libjingle-0.5.2$ make
cd talk …

python google-code libjingle

8
推荐指数
1
解决办法
4350
查看次数

使用libjingle 0.5.x for P2P与自提供信令

有人可以提供基于libjingle 0.5.x的一小部分代码,我可以看到如何在不使用XMPP的情况下建立用于传输数据的P2P通道吗?我打算通过非基于XML的协议或通过非libjingle XMPP库提供信令.

对于初学者,我想更多地了解libjingle的功能,这样的例子对我来说是最好的方式.

到目前为止,这是我的研究:

p2p libjingle

8
推荐指数
0
解决办法
991
查看次数

WebRTC java服务器麻烦

我认为我非常接近让我的Java服务器应用程序通过WebRTC与浏览器页面通信,但我无法让它工作.我觉得我错过了一些小事,所以我希望这里有人可能会有一个建议.

我仔细研究了WebRTC示例 - Java单元测试(org.webrtc.PeerConnectionTest)和示例Android app(trunk/talk/examples/android).根据我的经验,我整理了一个使用WebSockets进行信号传输并尝试向Chrome发送视频流的Java应用程序.

问题是浏览器中没有视频,即使我的所有代码(包括Javascript和Java)都按照我期望的顺序执行,也会触及所有正确的日志记录语句.控制台日志中有一些来自本机libjingle代码的可疑输出,但我不知道该怎么做.我在下面的">>"中突出显示了日志中的可疑行.例如,似乎视频端口分配器在创建后不久就被销毁,因此显然有些错误.此外," Changing video state, recv=1 send=0"似乎也不正确,因为Java方应该发送视频,而不是接收......也许我滥用了这个OfferToReceiveVideo选项?

如果查看下面的日志,您会看到WebSocket与浏览器的通信工作正常,并且我能够成功将SDP Offer发送到浏览器并从浏览器接收SDP应答.在PeerConnections上设置本地和远程描述似乎也可以正常工作.HTML5视频元素将源集设置为BLOB URL,就像它应该的那样.那么,我能错过什么?我是否需要对ICE候选人做任何事情,即使我的客户端和服务器现在在同一台机器上?

任何建议将不胜感激!

SDP消息(来自Chrome的Javascript控制台)

1.134: Java Offer: 
v=0
o=- 5893945934600346864 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE video
a=msid-semantic: WMS JavaMediaStream
m=video 1 RTP/SAVPF 100 116 117
c=IN IP4 0.0.0.0
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:dJxTlMlXy7uASrDU
a=ice-pwd:r8BRkXVnc4dqCABUDhuRjpp7
a=ice-options:google-ice
a=mid:video
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=sendrecv
a=rtcp-mux
a=crypto:0 AES_CM_128_HMAC_SHA1_80 inline:yq6wOHhk/QfsWuh+1oOEqfB4GjKZzz8XfQnGCDP3
a=rtpmap:100 VP8/90000
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 goog-remb
a=rtpmap:116 red/90000
a=rtpmap:117 ulpfec/90000 …
Run Code Online (Sandbox Code Playgroud)

java libjingle html5-video webrtc

8
推荐指数
1
解决办法
2294
查看次数

DataChannel.state()始终返回CONNECTING webRTC Android

我有一个Android应用程序作为运行在Node.js服务器上的WebRTC服务器的客户端运行.该应用程序的当前状态是我可以进行视频通话,但无法在DataChannel上发送消息.

这是我的Android应用程序的完整代码.

Home.java

public class Home extends Activity {

    public List<PeerConnection.IceServer> iceServers;
    private GLSurfaceView videoView;
    public static SocketIO socket;
    ArrayList<String> userIDs = new ArrayList<>();
    private static final String FIELD_TRIAL_VP9 = "WebRTC-SupportVP9/Enabled/";
    String RoomId = "";
    String sreverURL = "http://xx.xx.xx.xx:xxxx/";
    private EditText roomid;
    private VideoRenderer.Callbacks remote_view;
    private VideoRenderer.Callbacks local_view;
    protected PeerConnectionFactory factory;
    PeerConnectionFactory.Options options = null;
    Events pc_events;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        videoView = (GLSurfaceView) findViewById(R.id.glview_call_remote);
        VideoRendererGui.setView(videoView, new Runnable() {
            @Override
            public void run() {
                createPeerConnectionFactory();
            } …
Run Code Online (Sandbox Code Playgroud)

android libjingle socket.io webrtc

7
推荐指数
1
解决办法
882
查看次数

使用Android MediaProjection API的输出作为libjingle WebRTC库的源?

我正在尝试创建一个Android应用程序,该应用程序利用libjingle WebRTC原生Android库,使用WebRTC将用户Android桌面投影到对等方.为此,我已成功使用pristine.io libjingle镜像重新创建Android apprtc示例应用程序:

compile 'io.pristine:libjingle:10531@aar'
Run Code Online (Sandbox Code Playgroud)

在我的应用程序build.gradle文件中.apprtc示例适用于https://apprtc.appspot.com/演示网站.我还创建了一个单独的应用程序,使用MediaProjectionAndroid API 21中引入的库,按照此处发布的示例,将用户的屏幕记录为H.264编码的mp4文件.

现在,我想将这两个想法结合到一个应用程序中,该应用程序利用来自MediaProjectionMediaRecorder/或至少H.264编码文件的原始流作为WebRTC对等连接的视频/音频流.这甚至可能吗?PeerConnection.addStreamlibjingle中的方法需要一个实例MediaStream.如何MediaStream从原始流或生成的mp4文件创建类型对象?

感谢您提供的任何见解!

android libjingle webrtc android-mediaprojection

5
推荐指数
0
解决办法
610
查看次数