Kurento Media WebRTC 转 RTP

2023-12-11

我正在使用 kurento 的主 git 来制作 WebRTC 到 RTP 的桥接器。

MediaPipeline pipeline = kurento.createMediaPipeline();
WebRtcEndpoint webRtcEndpoint = new WebRtcEndpoint.Builder(pipeline).build();
HttpGetEndpoint httpEndpoint=new HttpGetEndpoint.Builder(pipeline).build();

org.kurento.client.Fraction fr= new org.kurento.client.Fraction(1, 30);         
VideoCaps vc= new VideoCaps(VideoCodec.H264,fr);
httpEndpoint.setVideoFormat(vc);

AudioCaps ac= new AudioCaps(AudioCodec.PCMU, 65536);
httpEndpoint.setAudioFormat(ac);

webRtcEndpoint.connect(httpEndpoint);

尽管如此,输出视频播放仍被编码为 webm 。我也尝试过各种其他方法(使用 RTP ENdpoint、使用 Gstream 过滤器、使用 VLC HTTP 到 RTP 流媒体)。但是没有方法给我一个可以在 safari 和 IE 上播放的视频,即 H264 编码。请求媒体开发者和kurento团队帮助。


Safari 和 IE 不支持 RTP/H.264。从您的代码中,我了解到您正在尝试创建一个 WebRTC 来标记桥。在这种情况下,HttpGetEndpoint 将通过 HTTP 伪流提供媒体。然而,Kurento 仅提供 WebM 格式的实时 HTTP 伪流类型。据我所知,Safari 和 IE 都不支持 WebM,因此您想要做的事情不会独立于您强制 HttpGetEndpoint 的上限。您只能看到它在 Chrome、Fireforx 或其他支持 WebM 的浏览器上运行。

唯一的解决方案可能是 HttpGetEndpoint 提供 MP4 格式(或 IE 和 Safari 支持的任何其他格式)的媒体,但以该格式创建实时流非常棘手,我们(Kurento 团队)没有时间实现该功能并不在我们的短期路线图中。

然而,我们有许多用户使用 RTMP 将 WebRTC 与 IE 和 Safari 集成。在这种情况下,您需要将 Kurento 与支持 RTMP 的媒体服务器集成(这可以通过不同的方式完成),然后让 RTMP 媒体服务器向浏览器提供媒体服务。

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

Kurento Media WebRTC 转 RTP 的相关文章

  • 从 MediaStream 对象获取媒体详细信息(分辨率和帧速率)

    我正在捕获用户的相机 我想以尽可能最佳的分辨率捕获图片 所以我的代码类似于下面的代码片段 我想从传入流中读取分辨率详细信息 因此我可以将其设置为视频高度和宽度 我将用它来单击快照 我希望快照具有流提供的最佳质量 这可能吗 读取分辨率详细信息
  • Three.js 使用 WebRTC 并应用 Shader

    我不知道如何将着色器应用于具有视频纹理的 Three js 对象 我一直在使用 webRTC 和 Three js 并使用标准材质成功将视频纹理映射到网格上 var material new THREE MeshBasicMaterial
  • 在 Heroku 上部署 PeerJS 服务器

    我的 PeerJS 服务器有问题 我从这里使用了 部署到 Heroku 按钮 https github com peers peerjs server https github com peers peerjs server 我不知道如何连
  • WebRTC 无法从 USB 输入设备获取视频源(readyState 转为结束)

    我正在尝试使用 WebRTC 在屏幕上显示视频输入作为实时源 我不想进行任何点对点通信或类似的事情 只是显示视频源 我的代码对于我的笔记本电脑集成网络摄像头工作得很好 但是当我连接外部视频输入设备 在本例中是一台旧摄像机 使用 StarTe
  • 为Windows应用程序实现webrtc数据通道[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有谁知道如何向用 C 构建的 Windows 应用程序实现 WebRTC DataChannel API 以便在 NAT 后面的客户端
  • 我可以在 DTLS-SRTP 加密中指定自己的加密密钥吗

    在 Chrome 中的 webrtc Web 应用程序中 我曾经通过覆盖 SDP 中的加密信息来指定自己的加密密钥 我现在正在迁移我的 webrtc Web 应用程序以使用 DTLS SRTP 进行加密 启用 DTLS 后 有没有办法告诉
  • 是否可以从具有跨源数据的元素中捕获?

    我在 webRTC 文档中找到了这个简单的脚本 我尝试运行它 但似乎我遗漏了一些东西 const leftVideo document getElementById leftVideo const rightVideo document g
  • 独立移动应用程序上的 WebRTC

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

    研究 HTML5 视频标签 并研究哪些浏览器支持哪些视频文件类型 我最初的想法是事情变得比仅仅使用 Flash 更困难 我想知道是否有人已经找到一些骨架代码 与视频的开发方法相结合 来执行以下操作 如果闪光灯可用 请使用它 如果没有 请尝试
  • FFmpeg RTP 流媒体错误 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想通过 FFmpeg 播放视频文件 但出现此错误 RTP 复用器仅支持一种流 当我写这个时 我得到了这个错误 ffmpeg exe i SomeVi
  • 使用 Docker 的 mediasoup v3

    我正在尝试运行一个2docker 中的 WebRTC 示例 使用 mediasoup 当我在一组实例上进行视频通话时 我想运行两台服务器 我的错误 你有没有看到这个错误 createProducerTransport null 错误 由于地
  • React Native - 在 Android 中显示传入视频通话屏幕(VOIP 应用程序)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试实施视频通话React Native 应用程序中的功能 我用过React 原生 twilio 视频 webrtc https
  • ffmpeg创建RTP流

    我正在尝试使用 ffmpeg 进行编码和流式传输 libavcodec libavformat MSVC x64 with Zeranoe builds 这是我的代码 很大程度上改编自编码示例 删除了错误处理 include stdafx
  • WebRTC 暂停和恢复流

    我正在尝试使用 WebRTC 构建一个 Web 应用程序 当某些事件触发时需要暂停 恢复视频 音频流 我已经尝试过getTracks 0 stop 但我不知道如何恢复流 对此有什么建议吗 谢谢 getTracks 0 stop 是永久的 U
  • 如何在 Android webRTC 上启用 H264

    如何在 Android WebRTC 上启用 H264 PeerConnection to createOfferSDP中没有h264描述 由于某种原因 Google 默认会阻止他们自己的软件编解码器 因此 如果您的芯片组中没有硬件解码 或
  • Twilio webRTC 通话在 10 分钟后中断

    使用 Twilio js 使用 webRTC 录制通话 工作正常 但在 10 分钟时 完全正确 电话挂断 TwiML 上的最大记录时间设置为 7200 秒 浏览器的控制台显示 Twilio PeerConnection signalingS
  • WebRTC 不适用于 Windows

    每当我尝试为 Windows 构建 WebRTC 时 运行 gclient runhooks 时都会收到此错误 running C path to depot tools python276 bin python exe src build
  • p2p 通信中的对等方如何相互验证?

    WebRTC 中的对等点如何相互验证 WebRTC 中的 DTLS 使用自签名证书 RFC 5763 https www rfc editor org rfc rfc5763具有详细信息 简而言之 证书指纹与 SDP 的 a fingerp
  • 错误类型 3 - 活动类不存在

    我正在尝试运行 webRTC 应用程序 但返回以下错误 启动应用程序 com onlinevoicecallapp com onlinevoicecallapp MainActivity 设备外壳命令 am start n com onli
  • Webrtc 重新协商,Firefox 到 Chrome,反之亦然,不更新流

    我已经成功建立对等连接 但我无法在 Chrome Firefox 上进行正确的重新协商 我已按照重新协商的步骤 将相机 视频更改为屏幕共享时 更新流 曲目 添加 删除 Changer 这击中了需要谈判 改变者 创建报价 更改者 设置本地描述

随机推荐

  • 无法备份 docker 卷

    我正在遵循官方 docker 指南here备份 docker 卷 我也知道这个问题但是我仍然遇到错误 运行以下命令 docker run rm volumes from dbstore v pwd backup ny db 1 tar cv
  • 无法读取 aws 设备场中的属性文件

    我的 Appium JUnit 测试在本地工作得很好 但在 aws 上找不到属性文件 我的测试放在下面src test java和测试中使用的属性文件src test resources locale 包含依赖项内容的 Zip app 0
  • 如何使用 Windows PowerShell 从 MariaDB 转储文件导入数据 [重复]

    这个问题在这里已经有答案了 我尝试使用以下命令在 Windows Powershell 中导入 dumpfile sql mysql u root p database database lt Backup sql 但我收到以下错误 At
  • 在 CodeBuild maven 作业中使用适当的 ECS 凭证

    我尝试在 mvn 命令中使用 CodeBuild 服务角色 但它似乎没有获取适当的 IAM 权限 我在用s3 wagon 私人插件它似乎使用了最新版本DefaultAWSCredentialsProviderChain包括EC2Contai
  • 如何在没有 Windows 窗体的情况下接收即插即用设备通知

    我正在尝试编写一个类库 它可以捕获 Windows 消息 以便在设备已连接或删除时通知我 通常 在 Windows 窗体应用程序中 我只会重写 WndProc 方法 但在本例中没有 WndProc 方法 还有其他方法可以获取消息吗 你需要一
  • 为什么 MSVC 编译器将模板实例化二进制文件放入程序集中?

    我在 MSVC 编译器中遇到了一些奇怪的事情 它将函数模板定义放在汇编中 而优化消除了对它们的需要 看起来 Clang 和 GCC 完全成功地删除了函数定义 但 MSVC 却没有 可以修复吗 主要 cpp include
  • 如何在Excel中创建下拉列表? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我在 Excel 中有一个值列 如下所示 如何将其转换为下拉列表 例如列中的每一行都会有该下拉列表 其中有狗 猫 鱼 蝙蝠 蟾蜍 都在里面 thanks 您可以通过 数据 功能区中的
  • phpMailer电子邮件不发送gmail smtp

    我无法使用 gmail SMTP 发送电子邮件 这是我收到的信息print r物体 我对 phpMailer 属性的用户名和密码使用相同的 gmail 凭据 因此我确信我的凭据是正确的 但不知道为什么它不发送 谢谢 感谢任何支持 EMail
  • 在单个页面上使用多个(猫头鹰)轮播

    我一直在谷歌上寻找在单个页面上使用多个轮播的方法 但没有找到任何适合我的解决方案 你们中的任何人都可以帮忙吗 这是代码 HTML div div class container div class row div class span12
  • 包管理器控制台仅在特定 VS 项目中启用迁移 CommandNotFoundException

    我尝试在新项目中运行命令 Enable Migrations 并收到消息 PM gt Enable Migrations The term Enable Migrations is not recognized as the name of
  • 在地址栏中显示 iFrame url

    是否可以在url地址栏中包含iframe内容的url 例如 我有一个域sub test com它有一个带有 src 的 iframerealpage com 逻辑上浏览页面不会改变地址栏中的任何内容 因为我们在其他域的 iframe 中打开
  • R oauth 身份验证期间 twitteR PIN 码出现在哪里?

    我正在尝试使用 twitteR 包 因为我已经阅读了 Jeffrey Stanton 关于数据科学的免费电子书中的 Twitter 章节 我使用此代码来注册我的凭据 requestURL lt https api twitter com o
  • 第一次使用Hadoop,MapReduce Job不运行Reduce Phase

    我编写了一个简单的映射缩减作业 该作业将从 DFS 读取数据并对其运行简单的算法 当尝试调试它时 我决定简单地让映射器输出一组键和值 而减速器输出一组完全不同的键和值 我在单节点 Hadoop 20 2 集群上运行此作业 当作业完成时 输出
  • 用于选择 x、y 和颜色(绘图)的下拉菜单

    我正在尝试创建一个带有可选 x y 和颜色变量的绘图 部分基于上一个问题 x 和 y 变量选择似乎有效 但是当选择新的 x 和 y 变量时 点颜色会丢失 此外 我尝试使用类似的策略来选择点颜色 但不幸的是这似乎不起作用 另一种选择是在前面链
  • 通过 ODBC 从 C# 读取 Netezza 数据库表在 Windows 7 中不起作用

    为什么 NET 无法通过已安装的 NetezzaSQL 驱动程序连接到我的 Netezza 盒子 64 位应用程序也无法通过此 ODBC 连接进行连接 为什么会这样呢 我已在控制面板中构建了用户和系统 Netezza ODBC 连接 当我单
  • 在unix中如何删除文件的最后一个字符?

    假设我有一些任意的多行文本文件 sometext moretext lastline 如何仅删除文件的最后一个字符 e 而不是换行符或空 而不使文本文件无效 更简单的方法 输出到标准输出 不更新输入文件 sed s somefile 是一个
  • 制作模态 JInternalFrame

    我需要从 MDI JFrame 中的用户获取大量数据 文件选择 文本 日期 我需要的输入表格是JInternalFrame是模态的 我怎样才能做一个JInternalFrame modal 根据我的经验 我从来没有成功过JInternalF
  • 如何从 QListWidgetItem 获取小部件

    我制造了一个QListWidget In QLisitWidgetItems 我添加了一个QVBoxLayout That QVBoxLayout包含三个QLabels 如何获取里面的值QLabel点击时QListWidgetItem 创建
  • 有可用的 Linux RDAP 客户端吗? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我四处寻找 认为这里可能是最快的 我在哪里可以得到任何RDAP客户端 它实际上被任何人使用吗 您可以使用用 Perl 编写的 rdapper git clone https gi
  • Kurento Media WebRTC 转 RTP

    我正在使用 kurento 的主 git 来制作 WebRTC 到 RTP 的桥接器 MediaPipeline pipeline kurento createMediaPipeline WebRtcEndpoint webRtcEndpo