项目记录-”海迪康”ipcamera客户端开发纪实

本文记录了一次海迪康IPcamera客户端开发的过程,从2017年将h264流保存播放,到2018年利用ffmpeg和回调方法实现SDL播放,再到最新的优化,使用av_parser_parse2()减少延迟,实现秒开屏无卡顿的实时解码播放。主要涉及ffmpeg、h264解码、SDL和wireshark网络分析。

一开始拿到IPcamera是为了在预警系统中加入一个摄像头,正好老师带来了一个IPcamera,但是并没有说明书和文档,一开始听到这个名字还以为只要知道了这个IP地址就可以为所欲为了,OK,NO,拿到了地址也并不知道怎么操纵,上网搜了一下“海迪康”这个牌子,搜到了做监控的大厂的海康威视的论坛,里面有海康摄像头的开发者说明书,下了一个ActiveX插件,很迷,改了UID和密码试了一下竟然成功连上。这时候不知道原理,只是把他嵌入到我们的网页中,匆匆实现了一下这部分功能。

然后开始跟熊大研究如何了解这个摄像头的原理,利用wireshark抓到了“官方”客户端与摄像头通信的包。(第一次感受到wireshark的强大)

拿到了通信的数据包,各种猜,我们得出了初步的解析。

前提条件:摄像头,电脑连接到同一局域网

交互流程:

               

2017进展:将摄像头获取到的h264裸流整理保存成264文件,利用ffplay、爱奇艺万能播放器等可以播放

思路:将收到的裸流利用ffmpeg实时编码成yuv数据,利用SDL、OpenGL、Direct3D等底层视频播放技术对YUV数据进行播放

需要解决的问题:首先ffmpeg的例子针对视频的解码都是以文件为对象的,也就是说无法实时进行解码,想要解码一定要先保存成文件再进行解码操作,看了ffmpeg源码,他的内部是逐帧进行操作的,但是想要灵活运用ffmpeg源码还是有难度的,不知道ffmpeg有关的函数,而且底层播放技术也不

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值