c++
文章平均质量分 85
程序课代表
健康分享,快乐生活
展开
-
音视频编解码原理(四) H.264码流组成/哥伦布编码
上一章介绍了H.264帧间编码原理,本章开始介绍H.264码流组成组成H.264码流的结构主要包含以下几个部分,从大到小排序一次是:H.264视频序列、GOP、图像、片组(slice集合)、片(slice)、NALU、宏块、像素。H.264视频序列:一段视频GOP:从I帧到下一个I帧之间的内容图像:视频中的一帧片组(slice集合):片的集合片(slice):一大块像素数据NALU:00 00 00 01 或 00 00 01标志一个NALU单元的开始宏块:被信源编码器划原创 2022-01-28 17:18:42 · 1767 阅读 · 0 评论 -
音视频编解码原理(三) H.264帧间编码原理
由上一章了解到H.264帧内编码的基本原理,本章介绍帧间编码原理首先看一下视频的下面两帧图片其中除了车子和镜头在移动,帧间大部分内容并没有发生大的改变,以车子的车牌为例,车牌向左移动了,就是宏块位置发生了变化,在第二帧中,就不用编码宏块的左侧和上侧的像素信息,只需要记录宏块的坐标信息(运动矢量),从而减少编码和传输的数据量。由此可以归纳出,假如第一帧图像为I帧,那么第二帧运动矢量图像可能是B帧也可能是P帧,取决于H.264内部算法,无需应用关心。为了方便解释,可以做如下总结:原创 2022-01-28 14:49:49 · 1175 阅读 · 0 评论 -
音视频编解码原理(二) H.264帧内编码原理
上一章介绍了音视频封装格式和音视频编码格式,本章开始介绍H.264原理说到H.264,首先不得不提到作为奠基鼻祖的H.261,其主要的贡献有:1.帧内编码第一次根据帧内的像素趋于统一而采用帧内预测编码技术2.帧间编码(运动补偿)使用以宏块为基础的运动补偿预测编码技术,从当前宏块参考帧中产生最佳匹配宏块3.环路滤波器实际上是一个数字低筒滤波器,滤除不必要的高频信息4.块结构的混合编码第一种采用“块结构的混合编码”方案的编码标准本章主要介绍帧内编码原理。H.2原创 2022-01-28 13:14:52 · 2546 阅读 · 0 评论 -
编译faac音频编码库
faac是MPEG-4和MPEG-2的AAC编码器,我们将使用它作为音频的软编码库。一、下载faac官网:http://faac.sourceforge.net这里使用ubuntu命令行下载,这里下载可能稍慢,耐心等待下载完成sudo wget https://nchc.dl.sourceforge.net/project/faac/faac-src/faac-1.29/faac-1.29.9.2.tar.gz下载完成,使用以下指令解压tar xvf faac-...原创 2021-01-24 23:58:44 · 1112 阅读 · 5 评论 -
编译x264视频编码库
X264作为H264视频编码最好用的有损视频软编码器之一,其性能比FFmpeg中实现的内置编码算法性能更好,其功能强大无以言表。但遗憾的是只能编码为H264,无法编码为H265等其他视频编码格式,本章主要实现通过使用X264源码编译出android中可以使用的X264编码器。一、下载X264官网地址:https://www.videolan.org/developers/x264.html这里使用ubuntu命令行下载1. 因为x264是使用git来管理的,所以如果没有安装gi...原创 2021-01-24 22:55:15 · 1446 阅读 · 0 评论 -
交叉编译环境搭建与测试
一、什么是交叉编译 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:1. 体系结构(Architecture)2. 操作系统(OperatingSystem)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说: 我们常说...原创 2021-01-23 14:24:18 · 6424 阅读 · 0 评论 -
本地java项目调用jni
一、环境搭建 1.jdk环境搭建(这个就不说了) 2.安装MinGW,官网可能下载较慢,这里我提供下载地址 提取码:nbc3配置下MinGw的环境变量原创 2020-12-22 18:54:17 · 2442 阅读 · 0 评论 -
opencv篇(二) 配置windows环境
各位不好意思,因为这段时间对go语言比较热衷,所以学习了一波,接下来我们继续之前的opencv攻坚。本篇内容为:配置windows的opencv环境。如此,我从攻坚篇(一)中盗了张图过来,本篇就从算开始了双击666...错了,重来!!1.双击上图中三原色的.exe文件,安装opencv到自己喜欢的位置,比如我就安装在D:\java\opencv_sdk目录下,各位随意1.双击图标是那个三原色的.exe文件,安装到自己喜欢的位置,比如我就安装在D:\java\opencv_sdk目原创 2020-11-19 22:00:07 · 526 阅读 · 0 评论 -
opencv篇(一) ndk运行环境搭建
因公司业务需求,需要涉及到计算机视觉之类的知识,出于增强记忆和乐于分享的目的,在此记录下本技术完整流程!首先,亮一下本屌的开发工具启动界面,本篇就算正式开始了!一、android studio配置1.首先创建一个没有什么卵用的...原创 2020-04-27 23:16:10 · 1138 阅读 · 0 评论