自定义视频采集原生webrtc

2024-01-04

据 webrtc 讨论组主题 google cricket::VideoCapture 将很快被弃用。要自定义视频源,我们应该实现VideoTrackSourceInterface。我尝试实现接口但没有成功。当我有一个框架时,我实现了该接口,然后调用事件 OnFrame(const webrtc::VideoFrame&frame) ,如下所示:

void StreamSource::OnFrame(const webrtc::VideoFrame& frame)
{
 rtc::scoped_refptr<webrtc::VideoFrameBuffer buffer(frame.video_frame_buffer());
 broadcaster_.OnFrame(frame);

} 在conductor.cc中的AddStreams()事件中,我通过以下代码创建了一个视频源:

rtc::scoped_refptr<webrtc::VideoTrackInterface> video_track(
peer_connection_factory_->CreateVideoTrack( kVideoLabel,new mystream::StreamSource()));

我的视频无法在浏览器中播放。我做错了什么?


我使用了基类 AdaptedVideoTrackSource 并创建了一个方法 FrameCaptured,它是从我的线程中调用的,在该方法中我将其称为方法 OnFrame。工作顺利啊!!!

 class StreamSource : public rtc::AdaptedVideoTrackSource
 {
   void OnFrameCaptured(const webrtc::VideoFrame& frame);
 }

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

自定义视频采集原生webrtc 的相关文章

随机推荐

  • javascript/jQuery – 在垂直调整页面大小时保持 div 滚动到底部?

    我无法保持 content当垂直调整页面大小时 div 的滚动固定在底部 即 当用户调整屏幕大小期间页脚向上移动时 窗口 一词绝对应该是最后移出可见范围的东西 页脚应将 Just Some Text 字样推入可滚动内容中 而 Window
  • 如果主数据库关闭,如何连接到辅助数据库(PHP)

    我希望有人能帮助我 我已经为此苦苦挣扎了三天 这是我的情况 我正在用 php 制作一个网站 我有 2 台计算机作为 wampserver 的服务器 主服务器是192 168 0 10 辅助服务器是192 168 0 12 和一个虚拟机 我正
  • 我如何更新 pandas 数据框,只保留原始数据框在左上角?

    我有这样的情况 例如一个原始的 pandas 数据框 如下所示 columnA columnB 1 2 1 3 然后由于更新 该表看起来像这样 columnA columnB columnC 2 3 2 2 4 3 1 3 3 但是 我想保
  • 跨活动共享“全局”变量,使用 Webview 时出现问题......?

    我通过使用这样的类在活动中共享一些变量 public class Globals static Boolean hint1 graph type switcher static Boolean hint2 stockview valuati
  • 查找两个图节点之间的所有路径

    我正在研究 Dijkstra 算法的实现 以检索路由网络上互连节点之间的最短路径 我已经实施了 当我将起始节点传递给算法时 它会返回到所有节点的所有最短路径 我的问题 如何检索从节点 A 到节点 G 的所有可能路径 甚至从节点 A 到节点
  • Visual Studio 在发布模式下出现“无法加载文件或程序集。不支持操作”错误

    我有一个 C 小型项目 它使用两个外部 dll 文件 一个是Redmine Net Api dll 另一个是NLog dll 我正在使用 Visual Studio 2010 我将这两个文件添加为我的项目的参考 问题是 当我在调试模式下运行
  • Ionic - 同一页面中的多个视图

    我是 Ionic 中的菜鸟 我需要帮助 指南来构建听起来很简单的东西 我想要一个由多个内容组成的页面 其想法是在同一页面中拥有多个视图 每个视图都链接到特定的控制器 这是我的代码 index html内容
  • 如何以正确的方式在 Angular 8 中重新加载页面

    注意 我通过谷歌搜索得到了一组结果 但是 正如我在最后解释的那样 我觉得由于多样性 它们并不可靠 我有两种实用方法 一种用于导航到父节点 另一种用于重新加载自身 第一个按预期工作 而另一个则无法导致重新加载 navigateToParent
  • 如何通过运行设置文件从代码覆盖率分析结果中排除迁移文件夹?

    我想从代码覆盖率分析结果中排除所有迁移类 所以我在中使用了以下代码codecoverage runsettings文件 但代码覆盖率分析结果还包括迁移命名空间类 迁移类的命名空间是MySolution Data Migrations他们在M
  • 以编程方式清除地图缓存

    我在使用 Android Google Maps API v2 创建的 SupportMapFragment 中启用了缓存 我希望能够以编程方式清除应用程序本身内程序的缓存 这是对我提出的要求 我正在使用描述的trimCache 方法来执行
  • 在多个后续范围内查找值和 .filldown?

    VBA新手在这里 我有一个包含多个组的动态列表 每个组的顶部列出了该组的领导者 下面列出了该组的成员 A 列中每个列出的人员旁边都有一个主键 我想获取领导者的密钥 并将其应用于领导者和组中每个成员的 F 列 这样每个成员在 A 列中都有自己
  • R 中一列数据的热图

    现在我有一列数据 超过 500 行 example df lt data frame City c New York LA DC Boston Chicago Data c 780 982 111 893 989 我想构建一个热图 但我只有
  • VBA:WithEvents 谜题

    我有一个用户表单 xForm 正在类模块中实例化 假设测试类 as TestClass Dim Form as New xForm Private WithEvents EvForm as MSForms UserForm Set EvFo
  • 如何让 Gradle 将 Lombok 添加到其项目和外部依赖库中?

    我在 Eclipse Neon 中创建了一个 Java 项目 我使用 Buildship 1 0 21 将项目导入为 Gradle 项目并运行wrapper and init用于生成构建 设置和包装文件的命令 该项目有一个空的源文件夹 因为
  • 如何隐藏批处理文件的命令提示符

    我有一个批处理文件 它运行一些命令并在资源管理器中打开一些文件 我想在不打开任何命令提示符的情况下执行这些操作 是否可以 如果是这样 怎么办 我没有使用任何其他脚本 例如 vbs 提前致谢 不完全是你的答案 因为你可能不想使用 VBS 但是
  • xcodebuild 的参数用于使用最新的 sdk。

    我使用 ant exec 任务来执行 xcodebuild 来构建一些 iOS 项目 hudson 我希望能够以允许不指定 sdk 版本的方式创建脚本 因为在 hudson 从属或我的 iOS 项目上更新 sdk 后 我的所有项目都失败了
  • WPF 中如何在窗口获得焦点时收到通知?

    我希望在单击 WPF 中的窗口时收到通知 我使用 GotFocus 事件 但它仅在我单击窗口中的组合框时触发 我想要的是在单击窗口或窗口中的任何控件时收到通知 关于如何做到这一点有什么想法吗 The GotFocus http msdn m
  • 优化 PHP 菜单选择器

    我做了功课 代码可以工作并且执行我想要的操作 目的如下 我有一个有 6 个选项的菜单 当我单击一个选项时 该选项将保持点亮状态 然后其余选项将被停用 并且在单击一个选项和每个选项时必须连续发生这种情况 我使用以下代码来控制我的应用程序顶部菜
  • 如何避免画布填充区域之间出现接缝?

    当我在 HTML5 Canvas 或 Quartz 或 GDI 等类似系统中填充相邻区域时 我在共享边缘上看到浅色接缝 这是一个例子 代码如下 我想我明白发生了什么 但没有解决办法 每条边缘都针对白色进行了抗锯齿处理 因此您得到的不是橙色和
  • 自定义视频采集原生webrtc

    据 webrtc 讨论组主题 google cricket VideoCapture 将很快被弃用 要自定义视频源 我们应该实现VideoTrackSourceInterface 我尝试实现接口但没有成功 当我有一个框架时 我实现了该接口