一不小心又吐槽了一下。正式说下工作的事情吧。基于海思HI3531DV200 芯片 4路RTSP视频输入,每路转出4路不同的分辨率 。刚开始以为是用FFMpeg做视频解码 缩放就可以。后来发现不对。FFMpeg的解码缩放应该是软编码 吃CPU ,正确的思路是通过海思芯片的硬件解码硬件编码来做。打通思路就好了这个过程花了一两天 然后就开始看海思自带的VDEC模块的例子。
之前的公司做的是摄像头,基本上 VI采集到的视频送到VPSS处理然后送给 VENC 做编码 之后得到的H264/H265 裸流 要么保存文件 要么通过RTSP/RTMP/GB28181/ONVIF 送到副武器去 大概就干这些事情。当然还有音频数据,期间有过一个情况是通过GB28181 推流的时候还需要录制文件,但是GB28118 的音频支持的是711格式,不支持AAC格式,但是录制MP4文件的时候又要求是AAC格式,这期间就涉及到一个711转AAC的过程,刚开始不知道,搜了下百度 大概思路就是711先转成原始格式PCM 然后PCM通过FAAC 转成AAC 。遇到的问题就是PCM送给AAC的时候的要是完整的一个音频帧 1024个采集点。但是海思送上来的数据并不是以帧为单位的,实际情况是采样率8000 单通道,16bit的精度 G711A海思送上来的每次是160个字节,转成PCM后320个字节,需要把这个320个字节拼凑成2048个字节(完整的一个音频帧1024*2) 送到FAAC解码 这样才是正确的。 还有的额外的工作就是需要通过浏览器去配置IPC摄像头 ,当时也是什么也不知道。继续百度。发现使用BOA+CGI。 还是在学校学习的HTML又被捡起来了 。后来功能也实现了 ,但是界面太丑,又找了个LayUI 框架做 算是马马虎虎,比之前好一点能看了 我们也没要求太多的功能 差不多能配置一下IP 设置一下主码流子码流的参数就可以了。不过这期间第一次体验了C语言&#