- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 iOS上模拟网络环境
真实的网络环境远比实验室复杂,在3G、4G、WiFi、等各种条件下,网络都不尽相同。而网络模拟可以让我们在实验室事先测试好各个环境下我们的应用的表现情况,在音视频开发中也是必备技能。网络环境模拟,一般需要模拟不同的带宽、丢包率、网络延迟这三种最重要的参数。我们都知道可以通过Mac自带的ipfw命令来模拟这些参数,但是其实,我们还有更好的选择。这个选择就是Hardware I
2015-12-18 15:21:04 2026
原创 iOS上抓包方法
这次写几个跟音视频无关的,但是在iOS上开发音视频等网络应用又必须会用的几个小技巧。首先是抓包。很多人不知道在iOS上如何抓包,导致问题定位只能在对端抓包,或者通过共享网络在Mac或路由器上抓包。事实上,iOS上抓包非常非常的方便。步骤一:在Mac电脑上安装wireshark,就像你在别的平台使用wireshark一样。步骤二:将iOS设备连接Mac电脑,打开itune
2015-12-18 14:27:21 2880
原创 使用iOS自带AAC编码器
iOS平台支持AAC编码器接口,主要使用AudioConverter API。之所以做AAC编码器是因为在做一个HLS的功能,而HLS要求的TS文件,需要视频采用H264编码,音频采用AAC编码。H264可以使用硬件或软件编码器,前面已经介绍。AAC也可以使用硬件或者软件编码,iOS全都支持。首先需要创建一个Converter,extern OSStatusAudioConver
2015-08-14 18:41:19 11730 5
原创 Webrtc(7) 实时视频传输中的RTCP协议
我以前主要研究语音,语音中常用的RTCP包主要有SR/RR/SDES/BYE/APP/XR,主要由RFC 3611和RFC 3550定义。而视频中常用的RTCP包比语音要多很多,语音的RTCP主要用于状态传递,统计数据。而视频中的RTCP更多赋予了控制功能,比如关键帧请求,码率控制等等。本文不介绍语音中的RTCP,只介绍视频中的RTCP包。这些报文遵守RFC4585和RFC51
2015-07-24 15:37:59 13318 2
原创 webrtc (6) 在Webrtc中集成VideoToolbox
VideoToolbox是iOS平台在iOS8之后开放的一个Framework,提供了在iOS平台利用硬件实现H264编解码的能力。这套接口的合成主要我一个人参与,花费了四五天的时间,中间主要参考了WWDC 2014 513关于hardware codec的视频教程,OpenWebrtc的vtenc/vtdec模块,chromium的一部分代码https://src.chromium
2015-06-18 18:00:47 6503 5
原创 webrtc (5) 在Webrtc中集成H264 Codec
Webrtc原生支持VP8和VP9,但是并不支持H264,这个在上一篇Webrtc和OpenWebrtc的对比中已经讲过。那么如果我们想要使用H264怎么办呢?可供选择的方案有两种,一种是x264,另一个是OpenH264。OpenH264是汇编代码,在性能上比x264更强,所以我选择了OpenH264.OpenH264是思科开源的项目,项目地址:https://g
2015-05-26 10:05:39 8923 3
原创 webrtc (4) OpenWebrtc和Webrtc的关系
这篇开个小差,介绍一下OpenWebrtc。最开始接触OpenWebrtc是因为要在iOS上使用硬件264,而OpenWebrtc号称已经集成了iOS8的 VideoToolbox接口,所以就来研究一下。http://www.openwebrtc.io/blog/2015/1/14/hardware-h264-video-on-ios最开始以为OpenWebrtc是
2015-05-20 16:08:31 6217 1
原创 webrtc (3) 使用webrtc Native API实现视频通话
经过几天折腾终于把视频通信搞定了,中间走了很多弯路,其实很简单,原本一天就可以搞定的。这篇主要记录中间遇到的坑,全是精华。我主要是使用C++接口,调用Native API,没有使用Peerconnection功能,我所调用的接口,都在src/webrtc/video_engine目录下。首先在上一篇编译完成以后,把库和头文件都加进来,头文件需要什么就加什么我主要用到
2015-05-14 17:19:23 11982 5
原创 VLC for iOS
本文主要记录在iOS上集成VLC的过程。VLC是一个很强大的播放器,在iOS上提供了播放器接口。1,下载编译下载过程比Webrtc要好很多,不那么虐心。参照 https://wiki.videolan.org/VLCKit/ 的步骤一步步来即可。下载如果没问题,直接执行./buildMobileVLCKit.sh完成编译。编译过程也是很顺利的,我编译的时候提
2015-04-30 16:56:29 6909 1
原创 webrtc (2) iOS平台编译过程
编译和运行如果前面下载的文件是完整的,编译其实是比较顺利的。 http://www.webrtc.org/native-code/ios按照指导一步步完成即可编译成功。首先export GYP_CROSSCOMPILE=1export GYP_DEFINES="OS=ios target_arch=arm arm_version=7"
2015-04-29 14:48:14 4912 4
原创 webrtc (1) iOS平台下载代码
最近要在iOS上用webrtc做video call,中间过程做一些记录。d首先下载代码。http://www.webrtc.org/native-code/ios按照步骤一步步来,在中国下载需要一个vpn账号,并且需要是很稳定的vpn。下载的过程实在痛苦,因为下载过程很漫长,只要vpn断线,就要全部重来,因为webrtc的下载不支持断点续传。
2015-04-29 10:26:36 1893
原创 用DOS批处理来进行自动刷票
因为要帮人投票,就花了几个小时学习了下简单的DOS批处理和HTTP请求的知识,用DOS进行自动POST请求提交。主要功能是自动投票,支持POST方式,支持IP地址变换。但是不支持有验证码的情况。主要原理是用批处理批量读取代理ip信息,写入到IE注册表项,然后自动进行POST提交,做的比较简单,以后如果有兴趣的可以用VB或者C++再写个图形化的程序出来。准备工具:
2014-02-23 09:37:19 2332
转载 批处理之FOR语句祥解
FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能!看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)FOR 参数 %%变量名 IN (相关文件或命令) DO 执行的命令参数:FOR有4个参数 /d /l /r /f 他们的作用我在下面用例子解释%%变量名 :这个变量名可以是小写a-z或者大写A-Z,他们区分大小写,FO
2014-02-23 09:00:20 975
OpenH264 & h264_impl for webrtc iOS
2015-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人