独立移动应用程序上的 WebRTC

2024-03-31

我知道WebRTC是为浏览器设计的,但是可以直接在移动应用程序上使用WebRTC库吗?

Thanks!


截至5月14日here https://github.com/pchab/AndroidRTC是一个android项目,使用WebRTC效果很好。

我将整个 android 项目翻译为Objective-C对于 iOS,WebRTC 也可以在 iOS 上工作,但我在 iPhone 4 和 4s 上遇到问题。仅适用于 iPhone 5 和 5s。

我认为问题在于性能。当我使用 webrtc 库进行视频通话时,它会占用 iPhone 5 上大约 140% 的 CPU,我猜这是大量资源,iPhone 4s 无法处理。


Edited

经过与视频连接的斗争(总是在 10 秒后断开),我终于让 WebRTC 在 iPhone 4s 上运行,您所要做的就是在创建本地 videoSource 捕获对象时设置正确的约束:

NSString *_width = @"320";
NSString *_height = @"180";
NSString *_maxFrameRate = @"10";

RTCMediaConstraints *videoConstraints = [[RTCMediaConstraints alloc]   
initWithMandatoryConstraints:@[[[RTCPair alloc] initWithKey:@"maxHeight" value:_height],
[[RTCPair alloc] initWithKey:@"maxWidth" value:_width],
[[RTCPair alloc] initWithKey:@"maxFrameRate" value:_maxFrameRate]] optionalConstraints:@[[[RTCPair alloc] 
initWithKey:@"googCpuOveruseDetection" value:@"true"],
[[RTCPair alloc] initWithKey:@"googCpuLimitedResolution" value:@"true"]]];


RTCVideoSource *videoSource = [factory videoSourceWithCapturer:capturer constraints:videoConstraints];
RTCMediaStream *lms = [factory mediaStreamWithLabel:@"ARDAMS"];
[lms addVideoTrack:[factory videoTrackWithID:@"ARDAMSv0" source:videoSource]];

请注意,这会发送一个非常小的视频,但它有效!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

独立移动应用程序上的 WebRTC 的相关文章

  • 无法从 RTCPeerConnection 获取 IP V4 地址 - chrome

    我需要从 Web 应用程序获取客户端本地 IP 地址 为此 我使用标准 RTCPeerConnection 实现来获取 但是返回的ice候选并不携带IP V4地址 而是一个看起来像guid的地址 asdf xxxx saass xxxx l
  • Html5视频录制和上传?

    我需要创建一个可以使用网络摄像头或移动摄像头录制视频的应用程序 它需要跨平台 到目前为止 我已经使用 webrtc getusermedia 编写了一个小型概念证明 它可以录制视频和播放 但我不确定如何将文件上传回服务器 这是此示例的链接h
  • 多方peer.js应用程序

    我对 PeerJs 和 WebRTC 是全新的 我有一个 1 1 NodeJS PeerJS 应用程序在我的远程服务器上运行 效果很好 然而现在我想探索将其扩展到 1 N 模型 其中主机 ID 可以有多个对等点连接到它们 并且每个对等点都可
  • 无法编译适用于 Android 的 WebRTC 库

    我正在尝试编译 WebRTC Native Stack 来构建libwebrtc aar但不幸的是无法理解出了什么问题 系统信息 Distributor ID Ubuntu Description Ubuntu 18 04 4 LTS Re
  • new PeerConnectionFactory() 在 android 上出现错误

    我正在尝试在 Android 上实现 WebRTC DataChannel 我想创建一个简单的对等连接对象 它将打开 DataChannel 以使用 WebRTC 通过网络发送数据 当我尝试创建 PeerConnection 对象时出现错误
  • swift webrtc 修改 CMSampleBuffer 以应用一些滤镜效果

    我想在localVideo中添加一些滤镜效果 所以我修改了CMSampleBuffer 转换为 UIImage 使用VNFaceDetector检测人脸boundingBox 将我的滤镜图像添加到相机图像中 转换回 CMSampleBuff
  • 在 Android 上使用 WebRTC 实现 Kurento 客户端

    我正在尝试在支持 API 22 的 Android 设备上实现 WebRTC 并且正在尝试连接到 Kurento 媒体服务器以建立媒体服务器功能 对于我的应用程序服务器层 我尝试使用基于 Tomcat 的 Java 服务器 这正在实现 Ku
  • webRTC - 视频导致互联网上的通话中断

    更新1 我尝试像这样改变视频约束 var mediaConstraints audio true We want an audio track video width min 160 ideal 320 max 640 height min
  • Bug 报告者:getDisplayMedia 的替代品?

    我正在尝试在我的网站上实现错误报告器 我的目标是用户能够在解决问题时以声音描述问题并记录浏览器选项卡 错误报告将只是一个视频文件 可以通过电子邮件发送给我 看来提议的navigator mediaDevices getDisplayMedi
  • 如何与本机桌面 (win) 应用程序建立对等连接

    我需要与本机桌面 win 应用程序和网络浏览器建立对等连接 只是为了传输原始数据 从理论上讲 WebRTC 似乎是实现这一目标的唯一方法 如果您想使用 WebRTC 在浏览器和桌面之间交换数据 您可以使用此库将桌面部分编码为 C 语言 ht
  • 直接从冷启动弹出状态

    我建造了一个科尔多瓦app https play google com store apps details id com everycrave livewire使用离子框架 它是使用构建的Peer JS http peerjs com 每
  • 本地网络上的 WebRTC? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在阅读有关 WebRTC 的内容 它看起来非常有前途 我想制作一个简单的局域网游戏 自动连接同一网络上的人们 尽管我可以找到人们
  • 在 iOS 上读取实时摄像头流的 getUserMedia() 替代方案?

    我们正在使用 QuaggaJS 构建一个移动条形码扫描仪 它可以直接从设备的摄像头流中读取条形码 在桌面 Android 上运行良好 但在 iOS 上根本不起作用 从最初的研究来看 我发现 iOS 根本不支持 WebRTC getUserM
  • iOS Webrtc - 捕获本地视频流时崩溃

    我正在尝试使用 Google 存储库中的 webrtc 库 我按照这些步骤创建了一个单独的项目 其中包含类似于 APPRTC 的说明和代码 并且我能够让它工作 我能够在两台设备之间进行会议 但是当我尝试与旧项目集成时 Webrtc 崩溃了
  • 无法设置远程应答 sdp:无法下推传输描述:无法为通道设置 SSL 角色

    我正在使用 webRTC 构建一个支持音频通话的系统 它的工作原理如下 用户AcreateOffer then setLocalDescription与offer 用户BreceiveOffer then setRemoteDescript
  • 独立移动应用程序上的 WebRTC

    我知道WebRTC是为浏览器设计的 但是可以直接在移动应用程序上使用WebRTC库吗 Thanks 截至5月14日here https github com pchab AndroidRTC是一个android项目 使用WebRTC效果很好
  • 具有 3 个用户连接的 WebRTC

    我现在正在实施源代码WebRTC 示例 https github com webrtc samples tree gh pages src content peerconnection audio通过使用网状拓扑成为 3 个用户连接 但是
  • Android WebRtc 本地视频流无法在棉花糖上显示,但可以在棒棒糖上显示

    添加的库 libjingle peerconnection jar Version 1 7 0 101 libjingle peerconnection so so 等级依赖性 fi vtt nubomedia utilities andr
  • 如何将音频从浏览器流式传输到 WebRTC 本机 C++ 应用程序

    到目前为止 我已成功运行以下示例 WebRTC 原生 C 到浏览器视频流示例 http sourcey com webrtc native to browser video streaming example 该示例展示了如何将视频从本机
  • 如何在webRTC android中将视频流数据录制为mp4?

    请帮我 我在中使用了这个例子https github com pcab AndroidRTC https github com pchab AndroidRTC将视频和音频从 Android 设备流式传输到其他 Android 设备 在这个

随机推荐

  • SQL 排名百分位

    我做了一个 SQL 查询 根据页面被查看的次数对页面进行排名 例如 PAGE VIEWS J 100 Q 77 3 55 A 23 2 6 现在我想做的是使用 SQL 查询找到每个页面的百分位数排名 我想使用的数学非常简单 我只想将已生成的
  • 下载大型视频文件被损坏

    在服务器端代码中 我将缓冲区大小和内容长度设置为文件长度 然后使用打开文件文件输入流 稍后使用获取输出流HttpResponse getOutputStream 并转储使用读取的数据字节文件输入流 我正在使用 Apache Tomcat 7
  • 使用希伯来数字自定义
      编号

    我想要一个使用希伯来字母数字的编号列表 就像希伯来语书籍中常见的那样 拉丁语表示法使用数字 0 9 而希伯来语则按字母顺序编号 但有时值会发生变化 我不知道这在 CSS 中是否可行 但也许在 JavaScript 中可行 我基本上想要这样的
  • Selenium webdriver 无法点击页面外的链接

    我在使用 Selenium WebDriver 时遇到问题 我尝试单击窗口页面外部的链接 您需要向上滚动才能看到它 我当前的代码相当标准 menuItem driver findElement By id MTP menuItem clic
  • 无法更改 iTunes Connect 中的主要语言

    我已向 App Store 提交了我的第一个应用程序 不幸的是 我注意到主要语言设置为德语而不是英语 我尝试更改主要语言 但出现错误 为了将此应用程序的主要语言更改为英语 美国 每个版本必须已经具有所需的英语 美国 屏幕截图 但我已经上传了
  • 如何在另一个应用程序中使用一个 gwt 应用程序的源代码

    我有两个不同的 gwt 项目 并且想要在另一个模块中使用一个 gwt 应用程序的类 有什么办法可以做到这一点吗 我遵循以下方法 在第二个项目中添加了以下两行
  • 我应该使用公共变量还是私有变量?

    我第一次做一个大型项目 我有很多类 其中一些具有公共变量 一些具有带有 setter 和 getter 方法的私有变量 并且相同具有两种类型 我决定重写此代码以主要仅使用一种类型 但我不知道应该使用哪个 仅用于同一对象中的方法的变量始终是私
  • Visual Studio 2005/2012:如何将第一个花括号保持在同一行?

    尝试让我的 css C 函数看起来像这样 body color 222 而不是这个 body color 222 当我自动格式化代码时 C In the Tools菜单点击Options Click 显示所有参数 左下角的复选框 显示所有设
  • 使用 C# 按创建日期降序获取目录中的文件列表

    我想使用 C 获取按创建日期排序的文件夹中的文件列表 我正在使用以下代码 if Directory Exists folderpath DirectoryInfo dir new DirectoryInfo folderpath FileI
  • URL 问号后面的部分是什么术语?

    http www example com foo 该术语是什么foo网址的一部分 这是query 或者有时请求参数 从中捏取有用的图表URI RFC https datatracker ietf org doc html rfc3986 s
  • lua检查多个值是否相等

    我喜欢用 Roblox 制作游戏 并用 lua 编写代码 在编写游戏时 我发现自己经常问一个值是否等于另一个值 这可能会产生很长的代码行 并且可能非常重复 例如 如果 x ClassName 衬衫 或x ClassName 附件 或x Cl
  • (转)发送http请求时如何控制gzip压缩?

    我想问一下大家在请求HTTP Post消息时如何控制gzip压缩 Accept Encoding gzip 作为 Http 请求标头始终添加到我发送的 http 请求中 但我不想使用 gzip 压缩 我该如何处理 在执行http NewRe
  • 在onPause而不是onDestroy中释放资源

    这是关于后蜂窝状 即Android 3 0 以及下面的引用来自https developer android com reference android app Activity html https developer android c
  • Rails 应用程序错误 - ActiveRecord::PendingMigrationError 迁移正在挂起;运行“rake db:migrate RAILS_ENV=development”来解决此问题

    数据库已创建 表已创建 数据已存在 但是当我重新启动Rails应用程序后 我收到了这个错误 该应用程序正在使用 MySQL 这里有什么问题 先感谢您 Solution 只需运行 rake db migrate 在服务器启动之前需要运行一些迁
  • 如何向java简单日期格式添加天数

    如何在使用简单日期格式获得的当前日期上添加 120 天 我看过一些关于它的帖子 但无法让它发挥作用 我的代码如下 SimpleDateFormat dateFormat new SimpleDateFormat dd MM yyyy get
  • 使用 JavaScript 打开另一个 html 页面时传递变量

    这可能是一个非常愚蠢的问题 但我在网上找不到它 而且我已经寻找了至少一个小时 我有一个链接 a href MusicMe html Instruments a 我想在单击后获取它的 ID 因为我需要将一些变量传递到我打开的页面以知道仪器链接
  • 2 个 2D 向量的叉积

    任何人都可以提供一个返回叉积的函数的示例TWO二维向量 我正在尝试实施这个算法 http www blackpawn com texts pointinpoly default html C 代码会很棒 谢谢 EDIT 找到了另一种适用于
  • 查找 NxN 网格中所有路径的算法

    想象一个机器人坐在 NxN 网格的左上角 机器人只能向两个方向移动 向右和向下 机器人有多少种可能的路径 我可以在谷歌上找到这个问题的解决方案 但我对解释不是很清楚 我试图清楚地理解如何解决这个问题并用Java实现的逻辑 任何帮助表示赞赏
  • Android 自定义视图应扩展 AppCompatTextView

    我创建了简单的自定义视图 它扩展自TextView 在 Android Studio 中我收到此警告 This custom view should extend android support v7 widget AppCompatTex
  • 独立移动应用程序上的 WebRTC

    我知道WebRTC是为浏览器设计的 但是可以直接在移动应用程序上使用WebRTC库吗 Thanks 截至5月14日here https github com pchab AndroidRTC是一个android项目 使用WebRTC效果很好