视频监控系统中编解码有哪些 视频监控 解码格式

bt365全程担保 📅 2025-07-24 00:08:12 👤 admin 👀 4261 ❤️ 339
视频监控系统中编解码有哪些 视频监控 解码格式

视频采集

常用的uvc摄像头采集格式有:yuv422、mjpeg等,分辨率越高,图片越清晰,帧率越高,视频越流畅(帧率25或30就够了,由于人眼会保留图像1/24s,所以更高的分辨率,效果并不会提高),但是代价是文件变大,或码流变大。

视频传输或保存(编码)

主要考虑的是文件或码流大小。由于人眼的极限,相邻帧信息冗余,采用某种算法来降低码流成为可能,主要编码格式有mjpeg、h264、h265。这里使用的是h264。

h264有专用的软件和硬件编解码器。这里没有硬件编码器。而常用的软件编码器是x264,使用开源软件是ffmpeg(1. ffmepg是一个开源、功能强大的工具,可以作为内核视频播放器,视频转码工具. 2. ffmpeg是一个编解码库,功能丰富,其自带H.264解码功能,但是要实现H.264编码需要集成X264将其作为编码器。)

下面是软件h264编解码效率对比

解码速度:ffmpeg > IPP simple player > x264 decoder > t264 decoder > jm86 decoder

以ffmpeg的编码速度为基准,假设为100fps,则:

IPP simple player:90fps

x264 decoder:50fps

t264 decoder:30fps

jm86 decoder:3fps

具体见

h264编解码会占用大量的内存和cpu资源,因此硬件编码器,cpu处理器,内存资源变得很重要。

播放(解码、数据转换)

图像处理基本都是基于rgb数据。以h264为例,解码数据为yuv420p,需要进行yuv420p–>rgb转换,而rgb数据有真彩:rgb24,rgb32,非真彩:rgb16等(根据lcd驱动决定转换格式,linux系统fbset查看底层rgb模式)

yuv和rgb互转:

Y = 0.299 R + 0.587 G + 0.114 B

U = - 0.1687 R - 0.3313 G + 0.5 B + 128

V = 0.5 R - 0.4187 G - 0.0813 B + 128

反过来,RGB 也可以直接从YUV (256级别) 计算:cr(u),cb(v)。

R = Y + 1.402 (Cr-128)

G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128)

B = Y + 1.772 (Cb-128)

而浮点数运算效率很低,也常采用查表法,以空间换时间,使用neon也能提高转换效率,因为neon是simd,一个时钟周期可以从内存读取全部操作数。

当然第三方软件经过算法优化,效率会很大提高,下面是第三方软件效率对比:

转换效率分析

测试序列:1920*1080

测试环境:OpenCV2.4.8, FFmpeg2.0, YUV2RGB v0.03

Method

Time(ms)

YV12ToBGR24_Native

83.7263

YV12ToBGR24_Table

54.2376

YV12ToBGR24_OpenCV

26.0529

YV12ToBGR24_FFmpeg

3.41499

YV12ToBGR24_Pinknoise

14.1215

由上述表格可以看出,基于FFmpeg的格式转换效率最高,而这里使用ffmepg转换。

🍵 相关养生推荐

电信诈骗横行,三大运营商到底有没有责任?
bt365全程担保

电信诈骗横行,三大运营商到底有没有责任?

📅 07-16 👀 9483
原神商店图鉴
365bet官网手机版下载

原神商店图鉴

📅 06-28 👀 9362
SSH Keygen 教程
365 office login email

SSH Keygen 教程

📅 07-06 👀 6287
王者一个赛季是多久
365 office login email

王者一个赛季是多久

📅 07-14 👀 4258
无线路由器品牌排行榜
365 office login email

无线路由器品牌排行榜

📅 07-14 👀 640