0
点赞
收藏
分享

微信扫一扫

视频采集和编码

1.RKMedia介绍

RV1126_RV1109_LINUX_SDK_V2.2.5.1_20231011/docs/RV1126_RV1109/Multimedia/Rockchip_Developer_Guide_Linux_RKMedia_CN.pdf

音视频开发的文档

RKMedia 提供了一种媒体处理方案,可支持应用软件快速开发。RKMedia 在各模块基础 API 上做进一步封装,简

化了应用开发难度。

VI(输入视频捕获)

VENC(H.265/H.264/JPEG/MJPEG 编码)

VDEC(H.265/H.264/JPEG、MJPEG 解码)

VO(视频输出显示)

RGA 视频处理(包括旋转、缩放、裁剪)

AI(音频采集)

AO(音频输出)

AENC(音频编码)

ADEC(音频解码)

MD(移动侦测)

OD(遮挡侦测)

VMIX(视频合成)

MUXER(视频封装)

VP(视频一入四出)

视频采集和编码_SYS

YUV 介绍:

⚫ "Y" 表示明亮度(Luminance、Luma),用于指定该像素感知的明亮程度。 ⚫ "U" 和 "V" 则是色度、浓度(Chrominance、Chroma),作用是描述影像色彩、饱和度

视频采集和编码_SYS_02

摄像头 GC2053

视频采集和编码_视频编码_03

摄像头支持的图像格式:

视频采集和编码_SYS_04

视频编码方式:

第一种: 使用开源 x264 库

第二种: 使用 ffmepg 移植库、学习接口 做开发

视频相关的参数:

分辨率指的是图像的长宽像素大小,分辨率也有 720、1080、2K、4K 的说法

1080 = 19201080

4k = 3840*2160

帧率:一秒的视频帧数,单位是 fps 码率:码率是 1 秒的数据量大小

H264 的压缩工作原理是比较典型的,它的压缩算法加入了运动补偿、运动补充等概念。

视频采集和编码_回调函数_05

GOP 指的是一组完整的视频帧,如 gop 设置为 25,那么编码器会让每 25 帧的第一帧必定为 I 帧 。如果帧率也是 25 帧,那每秒的第一帧就必定是 I 帧。

2.视频编码 API

1》RK_MPI_SYS_Init

视频采集和编码_视频编码_06

2》RK_MPI_VI_SetChnAttr 设置 VI 通道属性

视频采集和编码_视频编码_07

3》RK_MPI_VI_EnableChn:启用 VI 通道

视频采集和编码_视频编码_08

4》RK_MPI_VENC_CreateChn: 创建 VENC 通道

视频采集和编码_SYS_09

视频采集和编码_回调函数_10

视频采集和编码_回调函数_11

5》RK_MPI_SYS_RegisterOutCb 注册输出的回调函数

视频采集和编码_视频编码_12

6》RK_MPI_SYS_Bind

视频采集和编码_SYS_13

操作 MEDIA_BUFFER

视频采集和编码_SYS_14

视频采集和编码_视频编码_15

用于自己编程使用的工程 --- test

视频采集和编码_视频编码_16

如果想要在 vscode 中能够函数跳转

视频采集和编码_SYS_17

视频采集和编码_视频编码_18

视频采集和编码_回调函数_19

相关问题

(1)ISP(摄像头的驱动)是怎么设置的

调用现成的函数接口

(2)视频编码的程序流程是怎样的

①系统初始化

②设置视频采集通道

视频采集通道里的相关问题

用的哪一个摄像头采用的数据,采集的画面是怎样的格式,采集的分辨率有多大,帧缓存是多少,缓存格式

③使能采集通道

④创建编码(VENC)通道

创建编码通道的相关问题

编码的格式是哪一种,编码图像是哪一种,编码前后分辨率分别多大,

⑤设置码率控制器

设置码率控制器相关问题

选用的哪一种波特率编码,

⑥设置回调函数

当有一帧数据时就会触发回调函数并且将编码结果写入到文件内。

⑦绑定VI和VENC

(3)为什么要对视频编码?

答案:1920*1080*1.5*25 --- 74M

120 分钟 521G

因此对视频做编码---压缩非常节省空间

视频编码格式: H264 H265

H264优点:但是播放视频解码过程很快,并且适用范围广

H264缺点:压缩速度较慢,压缩后文件较大,

H265优点:压缩、编码速度快,压缩后的文件小

H265缺点:播放视频解码过程占用较大的系统资源,适用范围小

举报

相关推荐

0 条评论