之前在做类似的网络协议的时候,突发奇想,想写一个网络视频监控,基于局域网的情况下,将MacBook摄像头捕获到的视频,在手机端显示,但是由于对macOS不是很熟悉,最终导致该计划流产。所以后来干脆使用手机捕获视频数据。
为了简化项目工作量,socket协议也只用到了一些必要的功能,其他细节如client端退出监控视频时,server端会crash,各位有需要可以自行去添加一些如设置select()函数,或者设置signal()函数忽略这个断开的信号。等等
项目中没有写录制设备视频的功能,所以没有用到MP4封装
更多其他的细节已经搭建过程,有兴趣的可以去我的GitHub上回退到各个版本看循序渐进的过程。关于音视频我也是初学者,欢迎各位斧正。
client端:
- udp局域网搜索设备(server),或者手动添加其他设备(并没有功能) 到plist
- 点击已添加的监控设备,开始TCP音视频数据传输
- 接收到音视频数据,进行解码,并用OpenGL es渲染显示到界面上 或openAL播放音频
- 横竖屏功能
server端(摄像头):
- 点击“reset”,进入“配对模式”,即开始UDP监听AP
- 连接成功后,将自己的设备信息发送给client
- 开始捕获音视频,并进行硬编码,发送给client
基于iOS的网络音视频实时传输系统(三)- VideoToolbox编码音视频数据为H264、AAC
基于iOS的网络音视频实时传输系统(四)- 自定义socket协议(TCP、UDP)