WiFi上的原生C++webrtc客户端降低了视频质量,但对来自chrome的呼叫很好
Native C++ webrtc client on WiFi reduces video quality, but fine on calls from chrome
我有一个带有webrtc音频视频调用的宠物项目。目前,来自浏览器的调用正按预期工作。我正在尝试基于Native C++WebRTC的C++/Qt客户端(它只是一个经过修改的peer_connection_client示例,具有经过修改的信令)。
它是有效的,但我发现了一个问题:当我从一台电脑打电话到另一台电脑时,视频质量会大大降低,直到带宽变为250-300kbps左右(或者总共500kbps,不确定)。
正如我所说,有一个网络版本使用相同的信号,我在相同的PC上进行了测试。结果让我非常惊讶:没有质量降低,网络负载约为2000kbps。
此外,如果我用电缆将PC连接到路由器,质量很好,负载为2000kbps,正如预期的那样。
我想问题出在wifi带宽估计器附近,但我不知道如何控制它的行为。
有人知道我如何提高质量,让webrtc使用2000kbps而不是500kbps吗?
提前感谢,Br,Sergey
在继续的过程中,我发现我最终必须调用rtc::Thread::ProcessMessages()
,以防止被困在signalling_threads
事件上。
但在那之后,一个新的问题出现了。这是"XXX字节的UDP发送失败,错误为10035",在https://groups.google.com/forum/#!主题/讨论webrtc/wmYo7AU3evI。
相关文章:
- 我编写了代码将十进制分数转换为其二进制等效数.它编译得很好,但在执行时挂起
- 很好的语法来获取对向量/数组数据的大小引用?
- 我认为我的代码很好,但它在 cin a 之后停止并且没有进一步?
- 尽管一切看起来都很好,但值不会交换
- 为什么不同类型层次结构的指针之间的dynamic_cast定义得很好?
- 在 C++11 中利用 int*_t、int_fast*_t 和 int_least*_t 之间的差异的一个很好的例子是
- 对于短字符串来说,这是一个很好的哈希函数吗?
- 为什么指标有时效果很好,有时效果不佳?写下霍夫曼代码
- Red Hat:使用<atomic>编译很好,但链接器找不到__atomic_store_16;什么库?
- 使用移位的无符号数字作为数组的索引号是一种很好的做法
- 是否很好地使用状态模式来维护当前选定的对象?
- C++|以一种很好的方式将树(不一定是二进制的)打印到stdout
- 静态库单独使用很好,但在引用时会抛出错误
- 如果验证容器的大小并在同一条件语句下访问元素,这是很好的做法吗?
- 可变参数函数模板不能很好地使用 std::function 作为参数
- 有没有办法关闭文件? fclose 不能很好地工作
- 引用的静态强制转换强制模板实例化,其中不完整的类型很好
- libc++:为什么流关闭后仍然很好
- 不能很好地运行HElib,但它建立在Windows 10 x64上
- WiFi上的原生C++webrtc客户端降低了视频质量,但对来自chrome的呼叫很好