webrtc
文章平均质量分 68
夕妹
生活凡事种种,体验过的才是你的!
展开
-
往webrtc ninja工程中添加新文件
webrtc工程是ninja-vs类型的,ninja用作编译,visual studio只是起到辅助和调试的用途,如果不做某些处理,你用vs向工程中添加了新的头文件或者源文件时,ninja在编译的时候将认不到这些新添加的文件,于是会报LNK2019的错误,要想让工程在编译的时候识别这些新加的文件,只需要在工程文件夹中修改对应工程的ninja文件,里面定义了本工程ninja编译的时候所需要的配置信息原创 2016-12-05 14:19:53 · 1752 阅读 · 3 评论 -
解决兼容xp的webrtc早期版本的Thread::Clear() 奔溃问题!
因项目需要编译了一个兼容window xp的webrtc版本,将全部的项目编译成功后,将之前的p2p文件传输模块移植到本项目中,运行后没出问题,但是在和对端进行文件传输时,不稳定地出现程序奔溃,后来查找到后,发现了是Thread::Clear的问题,在多线程情况下Send Packet,这个版本的webrtc会出现线程之间不能够正确地保持互斥的关系,导致在计算遍历sendlist_的时候其中的线程原创 2017-06-22 10:59:23 · 1445 阅读 · 0 评论 -
webrtc gclient sync运行后clang下载失败的解决办法!
gcleint sync 是会报Downloading prebuilt clang Downloading https://commondatastorage.googleapis.com/chromium-browser-clang/Win/clang-305489-1.tgz; urlopen error [Errno 10060]这个错误!,这个问题出现得很频繁,原因很简单,就是你当前原创 2017-06-20 17:15:38 · 4532 阅读 · 1 评论 -
webrtc 多线程中创建CreateDataChannel,在创建过程中闪退!
因为要做一个多线程p2p文件发送的任务,所以打算在线程中的线程函数中直接new一个p2p环境、连接turnserver服务器,照如此做,结果在CreateDataChannel的过程当中直接闪退,莫名其妙!调试发现在这个过程中peerconnectionfactory创建的signalthread和workthread通过post的方式给目标线程发送消息的时候,其消息无法进入到MessageQue原创 2017-05-12 10:09:53 · 2256 阅读 · 0 评论 -
将webrtc的p2p模块编译成dll并移植到qt
前端时间一直在做P2P文件传输的工作,基于开源库webrtc,有关webrtc的下载、编译在此不做复述,可以在我之前的小文章中找到整个过程。vs2015下编译成功p2p dll,然后移植到qt中,qt使用mingw编译,那么问题来了,qt mingw编译环境和vs2015 msvc不是同一个编译系统,qt mingw自然不能像在msvc中导入dll的方式去导入 前面的 p2p dll!这个问题让我原创 2017-04-21 18:05:50 · 2443 阅读 · 0 评论 -
去除webrtc中的signalserver
--------------------------------------json文件改为png图片,例如LocationJson.json文件改为LocaltionJson.png,其他文件同理。 根据项目需求,将webrtc中的signalserver和IM服务器合并,所以在编写webrtc P2P文件传输模块的接口时要将signalserver剔除出去,只提供sdp和icecan原创 2017-02-22 16:40:52 · 2926 阅读 · 2 评论 -
VS2015安装Qt VS Tools
按照此博主的博客(http://blog.csdn.net/tgzjz/article/details/52681319)在VS2015上安装了Qt VS Tools,新建一个qt工程,在"生成"项目的时候,VS2015弹出对话框提示“未能完成操作,The parameter is incorrect”,猜想原来是自己在设置qt的include和lib的环境变量时出了问题,拼写错误!于是改正后,在原创 2017-04-10 15:32:47 · 12603 阅读 · 0 评论 -
去掉signalserver,接收对方发起的连接ping一段时间就IceConnectionState变为kIceConnectionFailed
signalserver去掉后,端A和端B通过交换sdp、icecandiate信息建立p2p连接,比如端A为连接发起方,生成本地的sdp、icecandiate信息,端B拿到端A的这些信息后,设置为自己的远端sdp和远端icecandiate,端B也会获取自己的sdp、icecandidate信息,将这些信息让端A知道,A在AddIcecandidate端B的每条icecandidate信息时,原创 2017-02-25 17:58:30 · 2639 阅读 · 0 评论 -
自写webrtc程序中遇到的问题---------------------持续更新----------
前段时间,脱离webrtc的demo,开始自写webrtc程序,现将遇到的一些问题一一列出:(1)在执行AsyncSocket::Connect函数后无法触发定义的AsyncSocket对象绑定的处理函数OnConnect: 问题:没有在进程中处理windows消息路由,导致系统无法将消息队列中的新的消息分发给进程中对应的线程,所以无法触发OnConnect回调,因此需要在w原创 2017-01-05 16:55:55 · 1135 阅读 · 1 评论 -
新建webrtc项目,编译报错提示很多rtc命名空间下的很多函数为无法解释的外部符号
之前讲到将webrtc由ninja编译改为了vs2015编译,才发现同样的一份源码使用vs2015编译确实比ninja编译得慢,无奈鄙人vs用习惯了,使用ninja编译会出现很多未知的问题,最恶心的是之前使用ninja编译webrtc项目时居然不能保证编译成功后的代码真正是当前文件所写的代码,这个错误恶心之处在于你以为编译成功了,但是当你调试进入某个代码段时才发现无法调试进入该段。 vs原创 2016-12-29 16:13:24 · 1303 阅读 · 1 评论 -
使用webrtc中的MD5 API计算某个文件的MD5值
在未使用webrtc之前,我都是用crypto++来计算文件的MD5值,其中多是使用crypto++API,当时我计算文件的md5值是直接将文件的路径传给了MD5 API函数,返回值就是MD5值字符串了,这样虽然用起来方便但是一旦文件过大或者说有几百M、几G的时候,我发现其计算的时间比较长,造成了很明显的时间延迟,我想那个api是直接将文件的内容整块地读到系统缓存中再一次性地计算整块内容的MD5值原创 2016-11-28 14:47:46 · 446 阅读 · 0 评论 -
使用notepad++删除webrtc中的所有相关的vcxproj文件中有关ninja属性字段的定义
由于我下载的webrtc生成的工程师ninja-vs类型的工程,导致能够使用vs2015编辑器来编辑webrtc代码,但是工程的编辑器默认使用的是ninja而不是vs2015,这也就导致我这个属性vs2015而对ninja一窍不通的真的蛋疼,使用vs的方式编写的代码经常因为无法被识别而导致ninja的编译错误,于是下定决心要将自己的webrtc代码前部修改为vs工程,也就是说使用vs2015来编译原创 2016-11-25 14:52:08 · 635 阅读 · 3 评论 -
webrtc添加对h264的支持-------------h264、ffmpeg mingw编译
之前使用动态编译的方式编译x264和ffmpeg,再将x264、ffmpe添加进入webrtc,x264作为H264编码器,ffmpeg作为H264解码器,都能成功使用,但是唯一让我不爽的是,PC端外部应用使用这些动态库的时候,居然要在运行目录中添加很多之前编译时所用到的外部动态库,搞笑的是还需要mingw的一个动态依赖库,所以尝试使用静态的方式编译x264和ffmpeg。 使用...原创 2018-06-25 15:01:50 · 1570 阅读 · 0 评论