音视频开发
文章平均质量分 55
编码、解码
C_IS_ALL
嵌入式、视频、软件开发、硬件开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
03-图像基础-视音频参数
 I帧是关键帧,属于帧内压缩,采用帧内编码方式,仅利用本帧内的数据进行编码。而I帧间隔表示每隔多少帧出现一个I帧,比如视频帧率为25,每2秒出一个I帧,即每50帧包含一个I帧49个P帧。总的来说,I帧和P帧的关系是:P帧是在I帧的基础上进行压缩的,P帧的数据量相对较小,但解码时需要参考I帧或P帧才能生成完整的画面。对于静止画面,帧率高低,对视频影响不大,但对于运动的画面,帧率越高,能表现的运动特性越明显。上面描述了帧率的概念,那什么是I帧间隔,首先我们要了解什么是I帧,什么是P帧。原创 2024-07-11 08:19:19 · 504 阅读 · 0 评论 -
02-图像基础-参数
我们在电脑打开一张照片,可以看到一张完整的图像,比如一张360P的图片,其对应的像素点就是640*360,可以以左上角为原点(0,0),从下图中可以得出每一个坐标点,这些坐标点就是像素点。亮度也就是图像的灰度,代码图像一个像素点的灰度值,取值范围是[0,255]其中0代表黑,255代表白色,在RGB颜色空间中,R,G,B三个参数代表了颜色分量和灰度分量,而在YUV的模型中,Y就是灰度分量,UV是颜色分量。颜色是由亮度和色度共同表示的,而色度则是不包括亮度在内的颜色的性质,它反映的是颜色的色调和饱和度。原创 2024-07-10 15:41:48 · 1635 阅读 · 0 评论 -
01-图像基础-颜色空间
R代表红色分量,G代表绿色分量,B代表蓝色分量,以24位色来描述,R占8位,取值0-255,G占8位,取值0-255,B占8位,取值0-255。RGB是一种常用的颜色空间,比如一幅720P的图像,所对应的像素点个数是1280*720,每一个像素点由三个分量构成,分别是R,G,B。YUV是一种颜色模型,其中Y表示亮度,取值0-255,而U表示红色色度分量,V表示蓝色色度分量,U和V的取值范围均是0-255。H为120时表示绿,H为240时表示蓝,在颜色空间中,H一个值就能表示目标的颜色。原创 2024-07-09 08:24:25 · 1141 阅读 · 0 评论 -
05-编码篇-H264文件分析
一般情况下,一帧图像包括多个切片,一个切片又包括切片头和切片数据,一个切片数据是由多个宏块Macroblock构成,宏块又包括宏块类型、预测类型、CPB、QP和宏块数据,而宏块数据是就是YUV的颜色分量。在一个h264视频中,最前面的数据是起始码,起始码是在NALU头部之前,假如NALU对应的Slice为一帧的开始,用十六进制00,00,00,01四个字节表示,否则用00,00,01的三个字节表示。通过前面的分析,我们可以看出常规情况下,是将视频以帧的单位进行处理,比如I帧,P帧,B帧等。原创 2024-02-06 11:08:02 · 1211 阅读 · 0 评论 -
03-编码篇-x264编译与介绍
下载X264,地址为:http://www.videolan.org/developers/x264.html,并解压。其中bin目录下x264为可执行文件,我们通过此可执行文件来分析x264库的相关功能。通过-h信令,我们大致可以了解x264的主要功能和使用方法。4.建立一个工程,用于将YUV转成H264。2.编译后可以查看 my_build目录。原创 2024-01-10 16:19:07 · 1361 阅读 · 0 评论 -
04-编码篇-X264的部分函数分析
x264_encoder_encode 或 x264_encoder_headers 之前使用或拷贝其中的数据。在前面的章节中,笔者有描述如何最简单的将一个YUV数据转换成H264,关于此代码涉及到如下结构体与函数,如下。x264_nal_t中的数据在下一次调用x264_encoder_encode之后就无效了,因此必须在调用。1.x264_picture_t 结构体描述一视频帧的特征,该结构体定义在x264.h中。4.x264_t是一个控制X264编码的全局性结构体,该结构体控制着视频一帧一帧的编码。原创 2024-01-15 15:26:06 · 612 阅读 · 0 评论 -
01-解码-H264转YUV
查看H264码流的工具:https://download.youkuaiyun.com/download/sishen4199/88522519?查看YUV视频的工具:https://download.youkuaiyun.com/download/sishen4199/88522520?工程链接:https://download.youkuaiyun.com/download/sishen4199/88522521?采集端:摄像头采集(YUV)->编码(YUV转H264)->RTMP推流。原创 2023-11-11 11:42:51 · 908 阅读 · 0 评论 -
02-编码-YUV转H264
H264码流查看工具:https://download.youkuaiyun.com/download/sishen4199/88522519?YUV视频查看工具:https://download.youkuaiyun.com/download/sishen4199/88522520?整个工程目录:https://download.youkuaiyun.com/download/sishen4199/88522517?采集端:摄像头采集(YUV)->编码(YUV转H264)->RTMP推流。原创 2023-11-11 11:43:18 · 504 阅读 · 0 评论 -
01-编码-H264编码原理
Fn-1是 B 帧或 P 帧:运动评估( ME )->匹配宏块得运动矢量( MC )->根据运动矢量推断下一帧->计算残差值Dn(残差值=当前帧-运动评估推断的帧)->DCT( T )->量化( Q )->拆包( Reorder )->熵编码( Entropy encode )->打成 NAL。(1)帧比如1秒钟有30帧数据,而在1秒内这30帧的数据变化并不大,并且这些帧是有很强的关联性的,我们保存第一帧数据,后面的帧可以由第一帧按某种规则预测出来。帧内预测是对整幅图中的每个宏块进行预测。原创 2023-11-09 19:28:08 · 339 阅读 · 0 评论
分享