- 博客(12)
- 收藏
- 关注
原创 ffmpeg解析mp4文件打印相关音视频信息
ffmpeg解析mp4文件打印相关音视频信息封装格式相关函数◼ avformat_alloc_context();负责申请一个AVFormatContext结构的内存,并进行简单初始化◼ avformat_free_context();释放该结构里的所有东西以及该结构本身◼ avformat_close_input();关闭解复用器。关闭后就不再需要使用avformat_free_context 进行释放。◼ avformat_open_input();打开输入视频文件
2022-12-06 17:33:35
345
原创 H264学习二:H.264/AVC编码标准
整体的编码框架方面,H.264依然采用块结构的混合编码框架;整个结构可以分为网络抽象层(NAL(为了提升h264视频对网络传输和数据存储的亲和性))和视频编码层(VCL(帧内预测,运动搜索运动补偿,变换量化));每一帧被分为一个或多个条带(slice)进行编码;每一个条带包含多个宏块(MB,Macroblock);宏块是H.264基本的编码单元,本结构包含一个包含16×16亮度块+两个8×8色度块+其他一些宏块头信息;
2022-10-14 10:47:05
1656
原创 码率控制及虚拟I帧
码率控制一、最简单的就是设置qp了,可以大幅度降低静态场景下码率,但降低码率的同时,视频质量也会相应下降。二、拉长GOP时间用于减少IDR帧数量,减小P帧大小,增加B帧。为什么要拉长GOP呢?因为IDR大小是P帧的几倍、几十倍甚至上百倍,减少IDR数量,可以大大降低了码率。至于B帧,也叫中间帧,比P帧更小。具体来说,可以使用到如下GOP模式。
2022-09-05 17:48:28
2605
1
原创 H.264学习一:视频信息与压缩编码
组成视频的基本结构是一帧帧连续而关联的图像;组成每一帧图像的基本结构是成平面紧密排列的像素;每一个像素由颜色的三基色分别取不同的分量构成:R:Red - 红色分量G:Green - 绿色分量B:Blue - 蓝色分量RGB颜色空间常用于显示器系统RGB颜色空间由红、绿、蓝三基色构成,每一个像素至少由三个颜色分量构成。RGB三个分量每一个分量以1字节表示,则可以表示256×256×256种不同的颜色常见的图像格式如位图(bmp)格式以RGB形式保存实际的编解码等视频处理中,YUV格式比RGB格
2022-07-05 17:51:59
1264
原创 busybox df命令详细分析
本文基于busybox1.34.0版本 对df命令分析下面是df命令用法源码分析#include <mntent.h>#include <sys/statvfs.h>#include "libbb.h"#include "unicode.h"#if !ENABLE_FEATURE_HUMAN_READABLEstatic unsigned long kscale(unsigned long b, unsigned long bs){ return (b *
2022-01-11 12:07:28
859
原创 Hi3518 编码 代码总结——MPP初始化
海思媒体(mmp)处理平台架构海思媒体处理平台的主要内部处理流程如图 1-2 所示,主要分为视频输入(VI)、视频处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出(VO)、视频侦测分析(VDA)、音频输入(AI)、音频输出(AO)、音频编码(AENC)、音频解码(ADEC)、区域管理(REGION)等模块。主要的处理流程介绍如下:VI 模块捕获视频图像,可对其做剪切、缩放等处理,并输出多路不同分辨率的图像数据。解码模块对编码后的视频码流进行解码,并将解析后的图像数据送 VPSS
2021-06-16 20:53:13
2757
原创 链表入门
#include<stdio.h>#include<stdlib.h>//创建链表结构体struct test{ int data; struct test *next;};//打印链表函数//原理:当链表不为空的时候,依次循环往下遍历,每次遍历的时候打印数据void shuc(struct test *o){ while(o!=NULL) { printf("%d ",o->data); o=o->next; } printf("\
2020-11-04 17:28:33
156
原创 简易贪吃蛇(c语言实现)
简易贪吃蛇(c语言实现)#include<ncurses.h>//读取键盘输入的库#include<stdlib.h>//malloc 动态分配的库#include<locale.h>//显示汉字的库#include<unistd.h>//usleep延时函数库#include<pthread.h>//多线程的库#define UP 1//宏定义#define DOWN -1#define LEFT 2#defin
2020-10-14 19:28:53
345
转载 关于c语言中EOF用法的理解
首先看一下EOF的官方解释:计算机术语,缩写通常为EOF(End Of File),在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。在C语言中,或更精确地说成C标准函式库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,...
2019-11-03 15:54:07
1570
原创 用栈解决最长公共字符串问题
目录#include<stdio.h>#include<string.h>struct m{ char a[100]; int top;};struct n{ char b[100]; int top;};int main(){ struct m z1; struct n z2; int t,max=0,sum=0,x,y; char ...
2019-11-03 15:51:26
211
原创 栈,队列的综合应用及讲解
栈与队列的综合应用【栈的定义】【队列定义】【纸牌游戏】【栈的定义】栈是限定仅在表尾进行插入和删除操作的线性表,栈的插入就是压栈,栈的删除就是出栈,为后进先出结构,出栈的地方叫做栈顶。一共有两种栈的存储方式,一种顺序栈,通常由数组实现,另一种链栈,由单链表指针实现,顺序栈选择数组首元素作为栈顶,链栈选择头指针位置作为栈顶。【队列定义】1、队列(queue)是只允许在一端进行插入操作,而在另...
2019-10-27 13:51:08
1370
1
空空如也
ffmpeg 加上--toolchain=msvc编译不通过(windows编译)
2022-12-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人