自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

路人coder

路人

  • 博客(21)
  • 资源 (10)
  • 收藏
  • 关注

原创 音视频OSD完全教程

目录前言OSD 介绍学习路线基础知识ASCII点阵字库叠加信息相关操作GB2312点阵字库UNICODE UTF-8矢量字库前言感谢海康高级工程师宇哥和安霸高级工程师杰哥对我的无私帮助现有的博客内容都是抄来抄去,不成体系希望我整理的内容能够对行业有所帮助OSD 介绍on screen display就是将信息叠加到视频中更通俗的讲,就是写字有人说这一块内容简单,确实不难。觉得简单的可以直接退出不必浪费时间学习路线OSD是音视频dsp绕不开的一部分内容,内容较少,说不上难但一定算不上

2021-04-21 20:21:57 2197

原创 H.264——使用H.264视频编解码器JM进行YUV图像序列的编解码

目录常见H.264视频编码器常见H.264视频编码器X264(只有编码没有解码)是由Video LAN组织制作的,这个组织还制作了一款著名的开源媒体播放器VLCJM的参考代码托管在hhi组织(德国的研究机构),我们可以在这个机构中获取JM最新的源代码。最近经典的版本是JM8.6,虽然没有包含最新的内容,但在开始阶段以及足够我们进行学习...

2021-04-28 21:19:50 4106 6

原创 H.264——H.264的基本介绍

目录背景与基本概念特点H.264的应用场景编码整体架构编码结构H.264对一个宏块编码H.264标准采用的编码工具帧内预测帧间预测MV的亚像素差值整数变换与量化无损熵编码其他技术本文是对H.264编码标准研究系列的开端背景与基本概念发起者:ITU-T的VCEG(Video Coding Experts Group)发起时间:2003最初版本支持8bit/sample,4:2:0色度采样,主要针对大部分通用视频处理与传输场合,(#`O′)对特殊应用做处理特殊应用可能需求:源视频数据精度

2021-04-28 14:54:57 3349

原创 视频编解码——主流视频编码标准的发展(H.261/H.263/MPEG-1/MPEG-2/MPEG-4))

目录制定标准的组织两种编码方式基于波形的编码基于内容的编码H.261系统图信源编码器复合编码器H.263MPEG-1码流结构MPEG-2码流结构MPEG-4制定标准的组织这些标准主要由两个组织制定。国际电信联盟——ITU-T国际标准化组织——ISO目前世界上影响力最强的视频编码标准基本都出自于这两个组织。除了这两个组织,还有Google——VP8/VP9Microsoft——VC-1国产自主标准——AVS/AVS+/AVS2两种编码方式基于波形的编码特点编码的数据正对每

2021-04-28 09:50:41 3187

原创 视频编解码——视频编解码器工作原理

目录什么是视频编解码器为什么需要视屏编解码器视频编码器与数字视频容器时评编码器的历史什么是视频编解码器简单来说就是用于压缩或解压数字视频的软件或硬件编码是信息从一种形式或格式转换为另一种形式的过程,解码是编码的反向。适用于视频编码是将视频、音频的原始格式的文件通过压缩技术转换成另一种格式(视频如h.264,h.265,m-jpeg等)。解码是编码的反向过程。应用中,一般是将h.264,h.265格式数据解码成如YUV格式裸流交给显示器显示。为什么需要视屏编解码器需要在有限的带宽或存储空间

2021-04-27 14:48:05 8855

原创 视频编解码——消除视频冗余的方法及原理

目录为什么要消除冗余颜色、亮度和眼睛帧类型时间冗余(帧间预测)查看运动向量空间冗余(帧内预测)查看帧内预测编码冗余视觉冗余为什么要消除冗余首先来计算一下一个一小时的视频大小。假设分辨率为720p,帧率为30fps,则内存为1280x720x24x30x3600,共占用278GB。仅仅使用无损数据压缩算法——如 DEFLATE(被PKZIP, Gzip, 和 PNG 使用)——也无法充分减少视频所需的带宽,我们需要找到其它压缩视频的方法。为此,我们可以利用视觉特性:和区分颜色相比,我们区分亮度要

2021-04-26 19:04:12 4031 3

原创 视频编解码——帧类型

目录I 帧(帧内编码,关键帧)P 帧(预测)B 帧(双向预测)总结假设我们一段 30fps 的影片,这是最开始的 4 帧我们可以在帧内看到很多重复内容,如蓝色背景,从 0 帧到第 3 帧它都没有变化。为了解决这个问题,我们可以将它们抽象地分类为三种类型的帧。I 帧(帧内编码,关键帧)I 帧(可参考,关键帧,帧内编码)是一个自足的帧。它不依靠任何东西来渲染,I 帧与静态图片相似。第一帧通常是 I 帧,但我们将看到 I 帧被定期插入其它类型的帧之间。P 帧(预测)P 帧利用了一个事实:当前的画面

2021-04-26 15:04:55 1564

原创 视频编解码——基础知识(图像、分辨率、宽高比、帧率与码率)

目录图像编码彩色图像的其它方法其他的图像编码方式分辨率宽高比举例帧率码率/比特率图像视频的本质就是图像,一段视频是由大量图像按照一定速度播放产生的。一个图像可以视作一个二维矩阵。如果将色彩考虑进来,我们可以做出推广:将这个图像视作一个三维矩阵——多出来的维度用于储存色彩信息。如果我们选择三原色(红、绿、蓝)代表这些色彩,这就定义了三个平面:第一个是红色平面,第二个是绿色平面,最后一个是蓝色平面。我们把这个矩阵里的每一个点称为像素(图像元素)。像素的色彩由三原色的强度(通常用数值表示)表示。例

2021-04-26 14:12:37 3402

原创 音视频OSD——使用freetype将矢量字库的信息叠加至YUV

目录freetypes使用步骤1)包含头文件:2) 初始化库:3)加载face对象:4)设置字体大小5)设置字体位置,以及旋转度数:6)加载字形图像准备矢量字库代码.c.h效果叠加至YUVfreetypesFreeType是一个完全开源的、可扩展、可定制且可移植的字体引擎,它提供TrueType字体驱动的实现统一的接口来访问多种字体格式文件下载freetypestar -xjf freetype-2.4.10.tar.bz2cd freetype-2.4.10/./configure

2021-04-23 09:55:58 1896 1

原创 音视频OSD——将64*64的UNICODE_UTF-8字库的信息叠加至YUV图像

目录分析UTF-8编码字库制作分析字符编码——详解常用字符集(ASCII,ISO8859-1,GB2312,GBK,Unicode)和字符编码(UTF-8,UTF-16)分析UTF-8编码UTF-8编码中,使用的是变成的字节序列表示字符,字符对应的代码点code point可能使用的是1-4个字节,这样一个字节就是一个代码单元。一个代码点code point可能由1-4个代码单元code unit组成十进制Unicode编码UTF-8字节流0-1270x000000-0x00

2021-04-21 19:00:12 631

原创 音视频OSD——Unicode编码与UTF-8编码转换

目录转换原理代码.c.h检验转换原理十进制Unicode编码0-1270x000000-0x00007F128-20470x000080-0x0007FF2048-655350x000800-0x00FFFF65535-1141110x010000-0x10FFFF一般汉字都是在第三栏,UTF-8编码形如:1110xxxx 10xxxxxx 10xxxxxxunicode汉字编码一般为16位形如:xxxx xxxx xxxx xxxx转换方式如

2021-04-21 16:47:11 364 2

原创 音视频OSD——将64*64的GB2312字库的信息叠加至YUV图像

目录前言制作字库编码方式分析拿出一个字模.h文件.c文件效果通过输入来自动获取区位码.c效果最终代码.c.h效果前言之前我们学习了Ascii字库的叠加操作音视频OSD——将816字库的时间信息叠加至YUV图像音视频OSD——将6464字库的时间信息叠加至YUV图像音视频OSD——修改叠加信息的位置音视频OSD——修改叠加在yuv420p图像上信息的颜色音视频OSD——修改叠加信息的尺寸接下来进行汉字的学习在学习之前,需要理解汉字相关编码的知识字符编码——一些基本概念字符编码——简体中文

2021-04-20 16:16:58 752

原创 音视频OSD——修改叠加信息的尺寸

目录分析原理代码分析在实际场景中,可能出现字模尺寸使用不合理的情况,此时就需要对OSD叠加的信息进行相应的缩放。思路如下:放大:位图中每个点,在YUV图像中画四个点,即放大两倍缩小:位图中取奇数行或偶数行叠加至YUV图像,即缩小两倍在实际应用场景中,缩放用的不是很多,一般都是换一个尺寸的字库。如果放大两倍以上,字的锯齿感就会非常明显,如下图放大后就会很难看,如下图放大两倍以上就要换字库。缩小只能通过抽点来实现,抽完之后字会歪歪扭扭很难看。所以一般实现缩小都是换字库。

2021-04-19 15:34:19 612

原创 如何调用其他文件的static函数

方法:include 目标static函数的.c文件通过函数包住static函数,另一文件调这个函数通过static的地址调用优点可能是为了兼容性这么玩,缺点如果一个大工程这样写,文件会很多很乱不容易规划第一种//a.c#include <stdio.h>//#include "b.h"#include "b.c"int main(void){ test_func(); return 0;}// b.c#include <stdio.h

2021-04-16 19:10:37 6051

原创 音视频OSD——修改叠加在yuv420p图像上信息的颜色

目录预备知识准备图片分析映射关系代码效果代码优化.c.h效果预备知识字符编码——一些基本概念字符编码——详解常用字符集(ASCII,ISO8859-1,GB2312,GBK,Unicode)和字符编码(UTF-8,UTF-16)音视频OSD——制作ASCII点阵字模并叠加到YUV图像中音视频OSD——将816字库的时间信息叠加至YUV图像音视频OSD——将6464字库的时间信息叠加至YUV图像音视频OSD——修改叠加信息的位置以上内容的叠加都是叠加在yuv的y分量上,若要改变颜色,则需要对y

2021-04-15 20:17:28 764

原创 音视频OSD——修改叠加信息的位置

介绍了修改OSD叠加位置的方法,防止OSD跨行叠加以及叠加内存越界的保护

2021-04-15 13:48:18 662

原创 音视频OSD——将64*64字库的时间信息叠加至YUV图像

目录前言分析制作不同尺寸字库判断图像尺寸前言音视频OSD——制作ASCII点阵字模并叠加到YUV图像中音视频OSD——将时间信息叠加至YUV图像前面我们制作了字库并且将时间信息叠加到了一个640x360的图像上,但之前的代码非常的不严谨。如果输入的图像是一个1080p的,那么8x16的字库显然就不够了,需要使用48x48或64x64的字库。如果我们需要叠加汉字,那么Ascii的字库就不能用了,就需要使用GB2312、GBK或UNICODE。分析步骤如下1、制作不同尺寸的字库2、分析图像

2021-04-09 15:36:55 1067

原创 ffmpeg——linux搭建ffmpeg环境

目录ffmpeg介绍环境搭建NASMYasmlibx264libx265libvpxlibfdk-aaclibmp3lamelibopuslibaomlibsvtav1下载ffmpeg安装包并解压ffmpeg介绍FFmpeg是领先的多媒体框架,能够解码,编码, 转码,mux,demux,流,过滤和播放人类和机器创建的几乎所有内容。它支持最模糊的古代格式,直至最前沿。无论它们是由某些标准委员会,社区还是公司设计的。它还具有高度的可移植性:FFmpeg可以在各种构建环境,机器体系结构和配置下,跨Linux,

2021-04-08 13:46:54 1901

原创 音视频OSD——将8*16字库的时间信息叠加至YUV图像

↓前置学习↓音视频OSD——制作ASCII点阵字模并叠加到YUV图像中目录需求分析分析获取时间拿出对应字模检验叠加至初始位置.c文件头文件效果字体颜色、大小、位置可调需求分析将时间信息叠加到YUV图像中,并且位置、大小、颜色可调分析步骤如下:1、将当前时间放在字符串中2、依次找到每个字符的Ascii字模3、叠加在YUV图像的初始位置4、字体颜色大小可调5、位置可调获取时间使用sys/time.h中的自带函数gettimeofday和strftime#include <s

2021-04-08 08:14:23 1245 5

原创 模块化编程的思想

今天看我们项目代码的时候发现这样一个奇怪的封装IMP_OSD_CreateGroup是君正底层SDK中的函数,LUX_OSD_CreateGroup是我们DSP层的函数为什么一样的函数,参数也一样,要换个名字?这就要涉及到模块化编程的概念:我们的程序是这样设计的模块化的设计,规定只能上层调用对应下层的API,如果TuYa要调用Ingenic的函数,那么就需要将Ingenic的API封装成LUX头,方便后期调试在这篇中也有提到:音视频DSP中的IVS算法处理流程还有一种情况:现在需要在屏幕

2021-04-02 09:36:17 624

原创 音视频OSD——制作ASCII点阵字模并叠加到YUV图像中

目录流程ASCII字库的制作生成ASCII字库读取字库中的一个字符检验位图的制作在终端打印叠加到YUV的Y分量效果功能合并.c文件.h文件效果爷是代码诗人流程1、制作一个ASCII字库2、fopen将字库读到内存中3、制作对应的字模(BMP)4、将BMP叠加到一个YUV图像上1、只叠加Y分量2、支持修改颜色5、查看效果ASCII字库的制作生成ASCII字库使用fontMaker工具,做一组8*16的点阵字库如字符A的显示如下:当然,有可能你的图不是这样的,这是由于字体不同导

2021-04-01 21:22:18 1495

Wireshark-win64-1.8.4.rar

网络抓包工具

2021-08-06

Elecard StreamEye Tools.7z

h264常用分析工具

2021-08-06

SpecialVH264.exe

h264分析软件,雷神作品

2021-08-06

MIPI标准文档大全.rar

MIPI文档,包括CSI、DSI、D-PHY

2021-07-29

ortp-master.zip

ortp源码包

2021-07-26

sample_venc.c.pdf

海思业务逻辑、函数调用关系图

2021-07-14

mtd-utils-1.5.2.tar.bz2

mtd-utils-1.5.2.tar.bz2,海思SDK编译所需工具

2021-07-01

Hi3518EV20X/Hi3516CV200 U-boot 移植应用开发指南.pdf

Hi3518EV20X/Hi3516CV200 U-boot 移植应用开发指南.pdf

2021-06-18

ISP tuning_guide.pdf

ISP调试知道文档,基于HI3518E和HI2516C的经验总结

2021-06-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除