标签: webrtc

需要澄清 Kurento 的 API 以将 webRTCEndpoint 连接到 RTPEndpoint

我正在尝试使用 Kurento 将 webRTCendpoint 桥接到 RTPendpoint。webRTCendpoint 客户端是一个 Chrome 浏览器。RTPendpoint 客户端是一个 SIP 服务器(代理/B2BUA)。这是我拥有的基本代码或伪代码(我在我的应用服务器中使用 Kurento-client.js):

//On receipt of offer from the WebRTC Browser-Peer
mySignalling.on('sdpOffer', function(sdpOffer) { //Action starts!

  //Create Mediapipeline so that endpoints can be created
  kurentoClient.create('MediaPipeline', function(error, pipeline) {
    pipeline.create('webRtcEndpoint', function(error, myWebrtcEndpoint)  {
      //Get ICE Candidates from webRTC endpoint to send to browser
      mySignalling.on('candidate', function(candidate) {
        myWebrtcEndpoint.addIceCandidate(candidate);
      });
      myWebrtcEndpoint.on('OnIceCandidate', function(event) {
        var candidate = kurento.register.complexTypes.IceCandidate(event.candidate);
        mySignalling.send(candidate); //Send ICE candidate to webRTC browser peer
      });
      pipeline.create('rtpEndpoint', function(error,myRtpEndpoint) {
        myWebrtcEndpoint.connect(myrtpEndpoint,function(error){ });
        myWebrtcEndpoint.processOffer(sdpOffer, function(error, …
Run Code Online (Sandbox Code Playgroud)

javascript webrtc kurento

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

Android WebRTC 因英特尔 webRTC 套件而崩溃

我正在使用英特尔 webRTC 库。https://software.intel.com/en-us/webrtc-sdk/

但是,它只会在特定手机上崩溃。

E/rtc: #

# Fatal error in ../../webrtc/api/java/jni/androidnetworkmonitor_jni.cc, line 195

# Check failed: !jni()->ExceptionCheck()

# Error during CallVoidMethod
Run Code Online (Sandbox Code Playgroud)

我看到我的设备收到了 SDP 报价并将其发送过来。但它似乎无法聚集任何冰候选者,并坠毁在那里。

运行安卓 5.0.2 的 LG G2 (LG-D800)。构建# LRX22G

android webrtc

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

如何使用韵律将媒体发送到 Jitsi videobridge?

我对 xmpp 和 webrtc 比较陌生。现在,我尝试使用 Jitsi Videobridge 和 prosody 创建简单的视频会议 Web 应用程序,我不想使用 jitsi-meet,因为我需要知道如何让 jitsi-videobridge 工作的基本知识。到现在为止,我可以通过韵律来接受 jitsi-videobridge 组件。所以当我运行./jvb.sh --domain=localhost --port=5347 --secret=componentsecret它会显示这些日志:

JVB 2017-04-21 10:52:53.798 INFO: [38] 
org.jitsi.videobridge.xmpp.ComponentImpl.log() RECV: <iq id="f68D9-340" 
type="result" to="jitsi-videobridge.localhost" from="localhost"/>
JVB 2017-04-21 10:53:03.801 INFO: [40] 
org.jitsi.videobridge.xmpp.ComponentImpl.log() RECV: <iq id="f68D9-341" 
type="result" to="jitsi-videobridge.localhost" from="localhost"/>
JVB 2017-04-21 10:53:13.801 INFO: [42] 
org.jitsi.videobridge.xmpp.ComponentImpl.log() RECV: <iq id="f68D9-342" 
type="result" to="jitsi-videobridge.localhost" from="localhost"/>
JVB 2017-04-21 10:53:23.801 INFO: [44] 
org.jitsi.videobridge.xmpp.ComponentImpl.log() RECV: <iq id="f68D9-343" 
type="result" to="jitsi-videobridge.localhost" from="localhost"/>
JVB 2017-04-21 10:53:33.801 INFO: [46] 
org.jitsi.videobridge.xmpp.ComponentImpl.log() RECV: <iq id="f68D9-344" 
type="result" …
Run Code Online (Sandbox Code Playgroud)

lua xmpp webrtc jitsi prosody-im

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

在 Ubuntu 16.10 中安装哪个 node.js 版本?

我正在尝试在我的 Ubuntu 16.10 系统中安装Truffle。在此之前,我需要安装 node.js。不支持最新的 v8。所以我下载了 v7 并安装了它的build-essential工具。但是在安装 Truffle ( sudo npm install -g truffle) 时,我发现一条错误消息:

节点预gyp ERR!尝试下载(404):https : //node-webrtc.s3.amazonaws.com/wrtc/v0.0.61/Release/node-v51-linux-ia32.tar.gz

节点预gyp ERR!未找到 wrtc@0.0.61 和 node@7.10.0 (node-v51 ABI) 的预构建二进制文件(使用 node-gyp 回退到源代码编译)

然后,片刻之后,这个错误弹出:

npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/truffle/node_modules/chokidar/node_modules/fsevents):

npm WARN notsup 跳过可选依赖:fsevents@1.1.1 不受支持的平台:想要 {"os":"darwin","arch":"any"}(当前:{"os":"linux","arch": "ia32"})

npm 错误!Linux 4.4.0-59-generic npm ERR!argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "truffle" npm ERR!node v7.10.0 npm ERR!npm v4.2.0 npm ERR!代码 ELIFECYCLE npm ERR!错误号 1

npm 错误!wrtc@0.0.61 安装:node-pre-gyp install --fallback-to-build …

ubuntu node.js npm node-gyp webrtc

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

StreamTrack 的 readyState 在播放流之前被更改为已结束(MediaStream - MediaStreamTrack - WebRTC)

jsfiddle ( https://jsfiddle.net/kalyansai99/mm1b74uy/22/ ) 包含用户可以在手机的前后摄像头之间切换的代码。

在少数手机(Moto g5 plus、Moto E3 等 - Chrome 浏览器)和少数手机(Mi Redimi Note 4 - Chrome 浏览器)中,当我切换到后置摄像头时,它的工作正常,最初流正在加载轨道“readyState”作为“live”。但是当我要在视频播放器中播放流时,“readyState”变为“已结束”并且视频标签上显示黑屏。

不知道发生了什么。有什么线索吗?

JSF 中间代码

var player = document.getElementById('player');
var flipBtn = document.getElementById('flipBtn');
var deviceIdMap = {};
var front;

var constraints = {
    audio: false,
    video: {
        frameRate: 1000
    }
};

var gotDevices = function (deviceList) {
    var length = deviceList.length;
    console.log(deviceList);
    for (var i = 0; i < length; i++) {
        var deviceInfo = deviceList[i];
        if (deviceInfo.kind === 'videoinput') {
            if (deviceInfo.label.indexOf('front') …
Run Code Online (Sandbox Code Playgroud)

webrtc mediastream

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

Live555 WebRtc 集成

我过去在 WebRTC 上使用我非常熟悉的 C 服务器(Janus)工作,现在我想将 WebRtc 容量添加到 Live555,以便能够通过它流式传输一些视频。问题是我对 live555 缺乏文档感到不知所措(比 Janus 更糟糕)如果我可以恢复 live555 缺乏:

1- SDP 解析器/构建器

2- HTTP 信号解析器/生成器

我的问题是我是否看到所有缺失的或需要完成的?

如果有任何机会,有人可以给我一些提示。

c++ live555 webrtc

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

如何在 Android 中的 SurfaceViewRenderer 上渲染 WebRTC VideoTrack?

更新之前WebRTC的依赖,我能够呈现WebRTC VideoTracksSurfaceViewRenderer,像这样:

val videoView = findViewById<SurfaceViewRenderer>(R.id.surface_view_renderer)
videoTrack.addRenderer(VideoRenderer(videoView))
Run Code Online (Sandbox Code Playgroud)

由于SurfaceViewRenderer不再实现VideoRenderer.Callbacks接口,如何使用更新的 WebRTC 版本实现上述相同的行为?

android kotlin webrtc

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

如何将网络摄像头源用作 A-Frame 纹理?

我想将网络摄像头流作为纹理附加到aframe内的实体,这可能吗,我该怎么做?

我要使用的效果示例包括:

  • 将我的网络摄像头画面投射到 VR 内的电视上
  • VR中的“面对时间”某人
  • 出于调试目的,在 VR 中看到自己

webrtc aframe

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

使用 getUserMedia API 配置帧格式

我有以下代码可以在我的 Google Chrome 浏览器中流式传输连接的视频源。WebRTC 的getUserMedia就是这样做的。以下代码片段用于配置我的外部相机设备的分辨率和帧速率。

function configureVideo()
{
      const video_constraints ={};

      //Create the following keys for Constraint
      video_constraints.video = {};

      //set camera name
      video_constraints.video.deviceId = {};
      video_constraints.video.deviceId.exact = <device_id_comes_here>

      //set resolution Width
      video_constraints.video.width = {};
      video_constraints.video.width.exact = 640;

      //set resolution height
      video_constraints.video.height = 480;
      video_constraints.video.height.exact = streamHeight;

      //set fps
      video_constraints.video.frameRate = 60;
      video_constraints.video.frameRate.exact = streamFps;

      console.log("Selected Contraints is :", video_constraints);

      navigator.mediaDevices.getUserMedia(video_constraints).then(streamCallback).catch(handleError);
}
Run Code Online (Sandbox Code Playgroud)

是的,我成功地从我的外部相机设备流式传输视频。相机提供 2 种类型的帧格式 YUYV 和 BY8。但我真的不知道当前正在流式传输什么帧格式。

有什么方法可以在 WebRTC 中配置我感兴趣的视频帧格式。

javascript video-streaming webrtc getusermedia

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

WebRTC iOS:从 RTCCameraVideoCapturer 过滤摄像头流。从 RTCFrame 到 CVPixelBuffer 的转换

我发现下面的 git 使用func capturer(_ capturer: RTCVideoCapturer, didCapture frame: RTCVideoFrame)of既简单又高效RTCVideoCapturerDelegate。你得到RTCVideoFrame然后转换CVPixelBuffer为修改。

https://gist.github.com/lyokato/d041f16b94c84753b5e877211874c6fc

但是,我发现 Chronium 说获得 PixelBuffer 的 nativeHandle 不再可用(链接如下)。我尝试了 frame.buffer.pixelbuffer...,但是,查看框架 > 标题 > RTCVideoFrameBuffer.h,我发现 CVPixelBuffer 也从这里消失了!

https://codereview.webrtc.org/2990253002

有什么好的方法可以转换RTCVideoFrameCVPixelBuffer?或者我们有更好的方法来修改从 RTCCameraVideoCapturer 捕获的视频吗?

下面的链接建议直接修改 sdk,但希望我们可以在 Xcode 上实现这一点。

如何修改(添加过滤器)WebRTC 发送到其他对等点/服务器的摄像头流

video-capture ios webrtc cvpixelbuffer

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