项目介绍:
几天前用Markdown上传了上一个项目代码,但是不知道为什么写了好多的内容都没有了,又不能编辑
这次重新上传一下,希望版主可以给我保留。
项目包括获取音视频数据的服务端,和解析显示的客户端,
其中服务端有iOS端的,和macOS端的。
如封面图效果就是macOS做服务端时,客户端的效果。
上一个帖子里的是用手机做采集数据的。
iOS版客户端看起来是这样的:
macOS版的看起来是这样的:
代码地址:
client端
server端
另外还写了一份macOS版的server,但是目前还有一些问题(视频延时 大概10秒左右),有兴趣可以去看看,macOS版
简介:
之前在做类似的网络协议的时候,突发奇想,想写一个网络视频监控,基于局域网的情况下,将MacBook摄像头捕获到的视频,在手机端显示,但是由于对macOS不是很熟悉,最终导致该计划流产。所以后来干脆使用手机捕获视频数据。
为了简化项目工作量,socket协议也只用到了一些必要的功能,其他细节如client端退出监控视频时,server端会crash,各位有需要可以自行去添加一些如设置select()函数,或者设置signal()函数忽略这个断开的信号。等等
项目中没有写录制设备视频的功能,所以没有用到MP4封装
更多其他的细节已经搭建过程,有兴趣的可以去我的GitHub上回退到各个版本看循序渐进的过程。关于音视频我也是初学者,欢迎各位斧正。
主要功能
client端:
1. udp局域网搜索设备([server](http://note.youdao.com/)),或者手动添加其他设备(并没有功能) 到plist
2. 点击已添加的监控设备,开始TCP音视频数据传输
3. 接收到音视频数据,进行解码,并用OpenGL es渲染显示到界面上 或openAL播放音频
4. 横竖屏功能
server端(摄像头):
1. 点击“reset”,进入“配对模式”,即开始UDP监听AP
2. 连接成功后,将自己的设备信息发送给client
3. 开始捕获音视频,并进行硬编码,发送给client
博客地址
基于iOS的网络音视频实时传输系统(一)- 前言
基于iOS的网络音视频实时传输系统(二)- 捕获音视频数据
基于iOS的网络音视频实时传输系统(三)- VideoToolbox编码音视频数据为H264、AAC
基于iOS的网络音视频实时传输系统(四)- 自定义socket协议(TCP、UDP)
基于iOS的网络音视频实时传输系统(五)- 使用VideoToolbox硬解码H264
基于iOS的网络音视频实时传输系统(六)- AudioQueue播放音频,OpenGL渲染显示图像