自定义视频采集原生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 的相关文章

  • 通过增加索引之和来生成排序组合的有效方法

    对于启发式算法 我需要一个接一个地评估特定集合的组合 直到达到停止标准 由于它们很多 目前我正在使用以下内存高效迭代器块生成它们 受到 python 的启发 itertools combinations http docs python o
  • 从多线程程序中调用 system()

    我们正在开发一个用 C 编写的多线程内存消耗应用程序 我们必须执行大量的 shellscript linux 命令 并获取返回码 读完之后article http www linuxprogrammingblog com threads a
  • ASP.NET Core 与现有的 IoC 容器和环境?

    我想运行ASP NET 核心网络堆栈以及MVC在已托管现有应用程序的 Windows 服务环境中 以便为其提供前端 该应用程序使用 Autofac 来处理 DI 问题 这很好 因为它已经有一个扩展Microsoft Extensions D
  • (const T v) 在 C 中从来都不是必需的,对吗?

    例如 void func const int i 在这里 const是不必要的 因为所有参数都是按值传递的 包括指针 真的吗 C 中的所有参数确实都是按值传递 这意味着无论您是否包含该参数 实际参数都不会改变const or not 然而
  • C# 正则表达式用于查找 中具有特定结尾的链接

    我需要一个正则表达式模式来查找字符串 带有 HTML 代码 中的链接 以获取文件结尾如 gif 或 png 的链接 示例字符串 a href site com folder picture png target blank picture
  • 在 C# Winforms 应用程序中嵌入 Windows XP 主题

    我有一个旧版 C Windows 窗体应用程序 其布局是根据 Windows XP 默认主题设计的 由于需要将其作为 Citrix 应用程序进行分发 该应用程序现在看起来像经典主题应用程序 因为 Citrix 不鼓励使用主题系统服务 所以
  • 如何创建用于 QML 的通用对象模型?

    我想知道是否有任何宏或方法如何将 Qt 模型注册为 QObject 的属性 例如 我有AnimalModel http doc qt io qt 5 qtquick modelviewsdata cppmodels html qabstra
  • 如何使用MySqlCommand和prepare语句进行多行插入?(#C)

    Mysql 给出了如何使用准备语句和 NET 插入行的示例 http dev mysql com doc refman 5 5 en connector net programming prepared html http dev mysq
  • 获取尚未实例化的类的函数句柄

    我对 C 相当陌生 我想做的事情可能看起来很复杂 首先 我想获取一些函数的句柄以便稍后执行它们 我知道我可以通过以下方式实现这一目标 List
  • 如何在 C++ 中将 CString 转换为 double?

    我如何转换CString to a double在 C 中 Unicode 支持也很好 Thanks A CString可以转换为LPCTSTR 这基本上是一个const char const wchar t 在 Unicode 版本中 知
  • 两种类型的回发事件

    1 我发现了两篇文章 每篇文章对两种类型的回发事件的分类都略有不同 一位资源说两种类型的回发事件是Changed事件 其中控件实现 IPostbackDataHandler 当数据在回发之间更改时触发 然后Raised事件 其中控件实现 I
  • C# 委托责任链

    为了我的理解目的 我实现了责任链模式 Abstract Base Type public abstract class CustomerServiceDesk protected CustomerServiceDesk nextHandle
  • 预处理后解析 C++ 源文件

    我正在尝试分析c 使用我定制的解析器的文件 写在c 在开始解析之前 我想摆脱所有 define 我希望源文件在预处理后可以编译 所以最好的方法是运行C Preprocessor在文件上 cpp myfile cpp temp cpp or
  • C++ 错误 - “成员初始值设定项表达式列表被视为复合表达式”

    我收到一个我不熟悉的 C 编译器错误 可能是一个非常愚蠢的错误 但我不能完全指出它 Error test cpp 27 error member initializer expression list treated as compound
  • 默认析构函数做了多少事情

    C 类中的默认析构函数是否会自动删除代码中未显式分配的成员 例如 class C public C int arr 100 int main void C myC new C delete myC return 0 删除 myC 会自动释放
  • 分配器感知容器和propagate_on_container_swap

    The std allocator traits模板定义了一些常量 例如propagate on container copy move assign让其他容器知道它们是否应该在复制或移动操作期间复制第二个容器的分配器 我们还有propag
  • C++11 动态线程池

    最近 我一直在尝试寻找一个用于线程并发任务的库 理想情况下 是一个在线程上调用函数的简单接口 任何时候都有 n 个线程 有些线程比其他线程完成得更快 并且到达的时间不同 首先我尝试了 Rx 它在 C 中非常棒 我还研究了 Blocks 和
  • C 中带有指针的结构的内存开销[重复]

    这个问题在这里已经有答案了 我意识到当我的结构包含指针时 它们会产生内存开销 这里有一个例子 typedef struct int num1 int num2 myStruct1 typedef struct int p int num2
  • 如何引用解决方案之外的项目?

    我有一个 Visual Studio C 解决方案 其中包含一些项目 其中一个项目需要引用另一个不属于解决方案的项目 一开始我引用了dll
  • 受限 AppDomain 中的代码访问安全异常

    Goal 我需要在权限非常有限的 AppDomain 中运行一些代码 它不应该访问任何花哨或不安全的内容 except对于我在其他地方定义的一些辅助方法 我做了什么 我正在创建一个具有所需基本权限的沙箱 AppDomain 并创建一个运行代

随机推荐

  • 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 我尝试实现接口但没有成功 当我有一个框架时 我实现了该接口