文艺小少年
这个作者很懒,什么都没留下…
展开
-
Docker学习(三)--Dock常用命令
目录一、引言二、docker常用命令------> 2.1、docker exec------> 2.2、容器启动与停止------> 2.3、容器进入与退出------> 2.4、容器日志------> 2.5、进入容器的两种方式一、引言前一章分析了dockerfile的写法,本章来详细介绍下docker的使用命令二、docker常用命令1、docker exec在正在运行的容器中运行命令docker exec [OPTIONS] CONTAINER原创 2022-05-18 16:23:04 · 1027 阅读 · 0 评论 -
Docker学习(二)--Dockerfile 指令解析
目录一、引言二、dockerfile------> 2.1、FROM------> 2.2、WORKDIR------> 2.3、ADD------> 2.4、COPY------> 2.5、CMD------> 2.6、RUN------> 2.7、LABEL------> 2.8、EXPOSE三、docker的使用一、引言前一章简单介绍了docker的使用命令,而如果想创建一个新的docker image,就需要编写dockerf原创 2022-05-18 15:56:56 · 284 阅读 · 0 评论 -
Docker的使用
目录一、引言二、docker介绍三、docker的使用------> 3.1、下载安装------> 3.2、docker运行nginx------> 3.3、查看运行的容器------> 3.4、往容器中添加文件------> 3.5、停止容器------> 3.6、保存修改生成新的镜像------> 3.7、register一、引言最近公司用到了docker,来整理一下二、docker介绍Docker 是一个开源的应用容器引擎,让开发原创 2022-05-10 16:59:29 · 412 阅读 · 0 评论 -
ffmpeg4.4项目开发--H264编码、AAC编码压缩率及带宽计算
目录一、引言二、H264压缩------> 2.1、视频压缩三、音频压缩四、常见的分辨率与带宽对应表------> 4.1、像素与带宽对应关系一、引言之前关于视频编码的码率控制写过一篇文章ffmpeg4.4项目学习–H264编码之码率控制模式及参数配置,今天就来详细分析一下对应的压缩率二、H264压缩我们先将用手机拍摄的一段录像解封装成video.h264、audio.aac,看一下对应的大小12409106 1月 9 23:23 test_2.mp4607005 2原创 2022-02-07 16:49:27 · 1346 阅读 · 0 评论 -
ffmpeg4.4项目开发--基于QT框架的ffmpeg播放器开发踩坑合集(实时更新)
目录一、引言二、接入摄像头------> 2.1、代码修改------> 2.2、开始测试-----------> 2.2.1、av_find_input_format失败-----------> 2.2.2、avformat_find_stream_info失败----------->2.2.3、音频----------->2.2.4、显示绿屏(绿纹)一、引言本章开始会以QT为框架,内嵌SDL与ffmpeg,完成一个简单的播放器,其中QT主要负责前端原创 2022-02-03 00:03:16 · 1883 阅读 · 0 评论 -
ffmpeg4.4项目学习--libvadevice摄像头的接入
目录一、引言二、fdk-aac编解码的支持------> 2.1、使用fdk-aac编码器------> 2.2、libjpeg------> 2.3、configure添加外部动态库一、引言ffmpeg中的filter功能非常之多,scale也被集成到了其中,所有我们也可以使用filter的方式来完成之前scale的功能,如视频原始数据的转换、音频重采样等。另外filter还有很多特效功能:添加字幕、画中画、裁剪、镜像等等,本篇文章就来简单介绍下filter二、...原创 2022-02-01 19:40:12 · 1597 阅读 · 0 评论 -
ffmpeg4.4项目学习--PTS及时间戳的理解
目录一、引言二、fdk-aac编解码的支持------> 2.1、使用fdk-aac编码器------> 2.2、libjpeg------> 2.3、configure添加外部动态库一、引言之前在做播放器的时候,遇到了音视频同步的问题,就想着来系统性的整理下ffmpeg中时间戳相关的东西,包括视频、音频的时间戳计算二、H264编码的四种模式...原创 2022-01-31 23:15:22 · 2353 阅读 · 0 评论 -
ffmpeg4.4项目学习--H264编码之码率控制模式及参数配置
目录一、引言二、fdk-aac编解码的支持------> 2.1、使用fdk-aac编码器------> 2.2、libjpeg------> 2.3、configure添加外部动态库一、引言之前简单的完成了H264编码的相关程序,但在应用中我们通常需要根据需求来控制码率或者编码质量,本篇文章就来系统性的整理一下H264中码率控制的几种方式及配置参数二、H264编码的四种模式先介绍一下H264编码中码率控制的四种方式CBR(Constant Bit Rate)是以恒定比原创 2022-01-31 14:35:22 · 1025 阅读 · 0 评论 -
ffmpeg4.4项目学习--添加fdk-aac编解码的支持
二、fdk-aac编解码的支持关于使用fdk-aac,网上有一大堆教程,按照其中的步骤,解码可以成功编进去,但不能使用fdk-aac编码器,而我就是要用这个编码器,所哟捣鼓了很久1、avcodec_find_encoder_by_name想使用fdk-aac编码器,需要使用如下语句 pCodec = avcodec_find_encoder_by_name("libfdk_aac"); if (!pCodec){ printf("Can not find encoder!\原创 2022-01-22 22:51:43 · 1067 阅读 · 0 评论 -
ffmpeg4.4项目学习--fdk-aac编码及音频编码常见问题(两种方式进行AAC编码)
目录一、引言二、fdk-aac进行aac编码三、源码------> 3.1、1、使用avformat------> 3.1、2、不使用avformat四、音频编解码问题总结------> 4.1、杂音严重,但源音频文件内容能正常播放------> 4.2、音调不对------> 4.3、声音慢速------> 4.4、杂音、声音不连续一、引言最近再弄PCM到AAC的编码,ffmpeg中需要添加fdk-aac的库,弄了半天才成功,这里简单记录下在音频原创 2022-01-22 22:46:26 · 2208 阅读 · 0 评论 -
ffmpeg4.4项目学习--SDL2_image显示jpg等格式图片(安装libjpeg)
目录一、引言二、报错解决------> 2.1、SDL2_image源码------> 2.2、configure------> 2.3、libjpeg------> 2.3、再次编译------> 2.3、测试–解决一、引言我们知道,SDL只能显示bmp格式,如果想显示jpg等其他格式的图片,必须下载其组件SDL2_image,所有我又去官网上下了SDL2_image的源码,编译后将其动态库、头文件等放到一起,使用IMG_Load来显示jpg图片,发现还是不原创 2022-01-14 23:12:01 · 628 阅读 · 0 评论 -
ffmpeg4.4项目学习--常用模块及API接口(持续更新)
目录一、引言二、C++ 输入输出概述------> 2.1、iostream------> 2.2、重定向------> 2.3、cout进行输出------> 2.4、使用cin输入三、文件输入和输出------> 3.1、文件I/O一、引言二、常用API1、封装相关namefunctionavformat_open_input根据输入的源文件构造一个 AVFormatContext 结构体,是该媒体文件的抽象avforma原创 2022-01-11 10:52:27 · 1471 阅读 · 0 评论 -
ffmpeg4.4项目学习--音视频基本格式
目录一、引言二、源码解析------> 2.1、流程分析------> 2.2、查看格式------> 2.3、源码一、引言上次看ffmpeg还是半年前,最近打算重启对ffmpeg的学习,整体还是按照雷神的框架走,个别地方也会深入学习!这篇文章先来准备一下基础知识二、音视频基本格式学习1、图像压缩数据格式图像数据的压缩格式主要以YUV为主,这里介绍一篇文章,写的很详细YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)其中原创 2022-01-11 10:52:11 · 1161 阅读 · 0 评论 -
C++学习(一)
目录一、引言二、C++基本属性简介------> 2.1、头文件------> 2.2、命名空间------> 2.3、输出、输入流------> 2.4、C++ 源代码格式化------> 2.5、类------> 2.6、函数库三、处理数据------> 3.1、简单变量------> 3.2、cout显示不同进制的数据------> 3.3、数组------> 3.4、字符串输入------> 3.5、str原创 2021-12-11 23:12:02 · 328 阅读 · 0 评论 -
Linux内核学习--常用调试命令
目录一、引言二、常用调试命令------> 2.1、file------> 2.2、ldd------> 2.3、nm------> 2.4、strings------> 2.5、size------> 2.6、strip------> 2.7、readelf------> 2.8、查看文件大小------------> 2.8.1、df -h------------> 2.8.2、du -sh *一、引言前一篇文章介绍原创 2021-10-03 11:32:51 · 321 阅读 · 0 评论 -
Linux内核学习--硬盘、内存与文件系统
目录一、引言二、硬盘------> 2.1、硬盘文件系统类型------> 2.2、U盘的挂载------> 2.3、硬盘的挂载三、虚拟文件系统------> 3.1、虚拟文件系统介绍------> 3.2、ramfs------> 3.3、tmpfs------> 3.4、devpts一、引言最近在看linux中硬盘、内存相关的东西,顺便来系统性的整理下,主要会分为三块:硬盘、内存、文件系统二、硬盘硬盘,也就是我们平常所说的磁盘,用于存原创 2021-10-09 15:57:59 · 367 阅读 · 0 评论 -
Linux内核学习--常见的几种调试方式(内核/应用层)
目录一、引言二、调试手段------> 2.1、printf/printk------> 2.2、proc------------> 2.2.1、proc通过meminfo查找应用进程的内存泄漏问题------------> 2.2.2、proc/slabinfo------> 2.3、smaps------------> 2.3.1、虚拟内存------------> 2.3.2、驻留内存------------> 2.3.3、top-原创 2021-09-30 16:57:01 · 381 阅读 · 0 评论 -
Linux内核学习--ARM系列处理器(指令集等)性能全面分析
目录一、引言二、ARM处理器类型------> 2.1、Classic系列------> 2.2、Cortex系列------------> 2.2.1、Cortex-M系列------------> 2.2.2、Cortex-R系列------------> 2.2.3、Cortex-A系列------------> 2.2.4、Cortex-A50系列三、应用场景四、指令集------> 4.1、ARM架构------> 4.2、C原创 2021-10-12 20:15:43 · 432 阅读 · 0 评论 -
ffmpeg4.4项目学习--AAC解码为PCM(附手撸源码)
目录源码/* * Copyright (c) 2001 Fabrice Bellard * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, inclu原创 2021-07-08 14:16:23 · 505 阅读 · 0 评论 -
ffmpeg项目学习--demo分析之音视频编解码
目录一、引言二、ffmpeg源码下载三、ffmpeg的配置编译------> 3.1、ffmpeg的配置------> 3.2、编译脚本------> 3.3、相关库文件的下载------> 3.4、编译完成一、引言在上一章[ffmpeg项目学习–ffmpeg源码的配置编译(附配置脚本)][]中,我们配置并编译了ffmpeg的环境,了解了基本结构,这篇文章就带大家来简单分析一下ffmpeg的几个demo,之后也会自己写几个demo测试二、demo分析...原创 2021-06-17 20:07:46 · 210 阅读 · 0 评论 -
ffmpeg4.4项目学习--PCM编码为AAC(附手撸源码)
重采样https://blog.csdn.net/u011003120/article/details/81542347https://blog.csdn.net/jammg/article/details/52688506源码/** *最简单的基于FFmpeg的音频编码器 *Simplest FFmpeg Audio Encoder * *雷霄骅 Lei Xiaohua *leixiaohua1020@126.com *中国传媒大学/数字电视技术 *Communication Uni原创 2021-07-08 11:27:41 · 366 阅读 · 0 评论 -
ffmpeg4.4项目学习--JPEG解码为RGB/YUV及各种图像原始数据之间的转换(附手撸源码)
目录二、以下是我根据demo改写的JPEG解码为YUV的一个小程序,还未测试#include <stdio.h>#include <stdlib.h>#include <string.h>#include <libavcodec/avcodec.h>#define INBUF_SIZE 4096static void pgm_save(unsigned char *buf, int wrap, int xsize, int ysize,原创 2021-07-01 00:11:19 · 1928 阅读 · 0 评论 -
ffmpeg项目学习--ffmpeg源码的配置编译(附配置脚本)
一、引言二、FH8856整体框架------> 1、整体框架介绍一、引言这段时间决定来学习ffmpeg相关的项目,所以首先就先来对ffmpeg的源码进行一个简单的配置二、ffmpeg源码下载ffmpeg源码可以从次网站下载:http://www.ffmpeg.org/download.html我为了方便直接在github上下载的,路径如下https://github.com/FFmpeg/FFmpeg下载好源码后,就可以开始配置编译了,下载完成后的主目录如图三、ffmpeg的配原创 2021-05-30 20:08:58 · 427 阅读 · 1 评论 -
ffmpeg4.4项目学习--RGB/YUV及各种图像原始数据编码成JPEG(附手撸源码)
/**最简单的基于FFmpeg的图像编码器Simplest FFmpeg Picture Encoder雷霄骅 Lei Xiaohualeixiaohua1020@126.com中国传媒大学/数字电视技术Communication University of China / Digital TV Technologyhttp://blog.csdn.net/leixiaohua1020本程序实现了YUV420P像素数据编码为JPEG图片。是最简单的FFmpeg编码方面的教程。通过学习原创 2021-07-08 10:47:48 · 1044 阅读 · 0 评论 -
ffmpeg项目学习--demo分析之音视频文件解析
目录一、引言二、解流流程------> 2.1、demo文件------> 2.2、打开文件,获取信息------> 2.3、注册解码器相关信息------> 2.4、创建编解码结构体内存------> 2.5、解析数据------> 2.6、输出原始数据的格式------> 2.7、释放资源三、源码一、引言https://blog.csdn.net/wqwqh/article/details/90713396二、音视频单类文件的解析其实原创 2021-06-22 15:24:20 · 210 阅读 · 0 评论 -
ffmpeg项目学习--demo分析之媒体文件解析
目录一、引言二、相关库文件三、使用流程------> 3.1、初始化------> 3.2、打开文件并获取流信息------------> 3.2.1、打开文件获取信息:avformat_open_input一、引言之前一篇文章,简单分析了一下ffmpeg中编解码的工作流程,本章就来更高一层次的分析媒体文件的解流二、解流流程demo文件此次解流文件用的demo主要是:“Y:\test\github\ffmpeg\FFmpeg-master\doc\examples\d原创 2021-06-18 09:43:01 · 174 阅读 · 0 评论 -
ffmpeg4.4项目学习--YUV编码为H264格式的视频(附手撸源码)
源码#include <stdio.h> #define __STDC_CONSTANT_MACROS #ifdef _WIN32//Windowsextern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"};#else//Linux...#ifdef __cplusplusextern "C"{#endif#include <libavcodec/avcodec原创 2021-07-13 22:42:28 · 323 阅读 · 0 评论 -
音视频数据封装——PS格式的封装与私有数据显示延迟问题(源码分析)
目录一、引言二、PS流------> 2.1、PS流封装------> 2.2、头部分析三、相关代码------> 3.1、音视频帧------> 3.1、私有数据(人形框)一、引言两个月没写博客了,这段时间家里事比较多,就偷了个懒,今天开始会陆陆续续开始恢复博客的更新!这两天在看PS流的打包这块,因为遇到了一个延迟问题,所以就来系统性的分析一下PS流封装的具体实现过程二、PS流之前的文章介绍过PS流的大致格式,但感觉不是很详细,这里来简单回顾下PS流封装原创 2021-09-28 15:19:29 · 668 阅读 · 0 评论 -
Linux编程学习--段错误之(SEGV_MAPERR)的跟踪解决
一、引言二、System V IPC------> 1、IPC种类------> 2、进程同步机制遵循的原则------> 3、IPC key(键值)------> 4、IPC key的创建方法------------> 4.1、 fork------------> 4.2、IPC_PRIVATE------------> 4.3、用户自定义一、引言在应用程序中,经常会出现内存使用相关的错误,今天就分享一下我遇到的一个段错误—SIGSEGV(SE原创 2021-04-26 15:56:38 · 3218 阅读 · 0 评论 -
Linux应用学习--程序所占内存、CPU相关概念介绍
一、引言二、内存的占用类型------> 1、内存的构成------> 2、堆栈------> 3、内存泄漏------> 4、内存占用量查看一、引言今天来简单总结下,如看查看一个程序所占内存大小二、内存的占用类型1、内存的构成一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈2、堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可原创 2021-04-16 09:28:33 · 210 阅读 · 0 评论 -
Linux音视频学习--数据流封装打包(PS、RTP)概念介绍
四、封装打包PS打包方式PS早期用做存储,所以有严格的组织形式,包、帧、流各个级别都有私有信息,通常录像就是用这个格式来存储的1、ESES–Elementary Streams (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的PES,只含音频ES的PES等原创 2021-04-13 10:32:35 · 1008 阅读 · 0 评论 -
Linux音视频学习--视频压缩编码(H264)及高清视频介绍
一、引言二、流媒体格式与介绍------> 1、相关格式------------> 1.1、视频流编码格式------------> 1.2、音频流编码格式------> 2、流媒体文件------------> 2.1、流媒体传输协议介绍------> 3、总结三、几种常见音视频传输协议一、引言这章来和大家一起了解一下视频编码的方式,会具体以H264为例视频中存在很多冗余信息,比如图像相邻像素之间有较强的相关性,视频序列的相邻图像之间内容相似,人的原创 2021-04-13 09:36:07 · 765 阅读 · 0 评论 -
Linux音视频学习--音视频编解码相关基本概念介绍
一、引言二、进程同步的几种机制------> 1、进程同步的概念------> 2、进程同步机制遵循的原则三、同步机制------> 1、锁------> 2、信号量原创 2021-04-12 20:00:35 · 528 阅读 · 0 评论 -
Linux音视频学习--常见的音视频传输协议及基本概念介绍
一、引言二、视频格式------> 1、RGB------> 2、RGB常见格式(RGB888、RGB24等)------> 3、YUV------------> 2.1、YUV的常见采样格式(YUV422、YUV420等)------------> 2.2、YUV存储格式(YV12、NV12、NV21等)三、码流------> 1、视频分辨率、码流、帧率、带宽、存储空间------> 2、计算方式一、引言最近由于跳槽,各种事情比较多,就好久没原创 2021-04-11 10:38:59 · 567 阅读 · 0 评论 -
Linux内核学习--进程同步机制的分析与学习(结合内核源码)
一、引言二、进程同步的几种机制------> 1、进程同步的概念------> 2、进程同步机制遵循的原则------------> 2.1、MonitorInfoView------------> 2.2、Deltacast E-EDID Editor------------> 2.2、EDID Manager------------> 2.2、bin与c的转换------> 3、非标准分辨率的支持三、同步机制------> 1、锁--原创 2021-03-18 16:45:54 · 271 阅读 · 0 评论 -
Linux驱动进阶学习--音视频格式及码流等相关概念介绍
一、引言二、视频格式------> 1、RGB------> 2、RGB常见格式(RGB888、RGB24等)------> 3、YUV------------> 2.1、YUV的常见采样格式(YUV422、YUV420等)------------> 2.2、YUV存储格式(YV12、NV12、NV21等)三、码流------> 1、视频分辨率、码流、帧率、带宽、存储空间------> 2、计算方式一、引言今天来系统整理下视频传输相关的知识二原创 2021-03-08 16:36:42 · 424 阅读 · 0 评论 -
Linux驱动进阶学习--HDMI设备之edid相关开发
一、引言二、UVC USB Gadge驱动分析------> 1、udc层------> 2、设备功能层------------> 2.1、设备功能层usb功能添加------------> 2.2、匹配udc中的端点------> 3、Gadget设备层------------> 3.1、usb_composite_dev一、引言最近在做hdmi设备相关的项目,感觉对整个hdmi框架有了更好的理解,今天来系统性的整理一下二、HDMI设备平常我们所见原创 2021-02-07 15:46:21 · 1816 阅读 · 1 评论 -
Linux驱动进阶学习--USB Gadget驱动分析(三)实例源码分析
一、引言二、USB Gadget介绍------> 1、USB Gadget驱动三、USB Gadget框架------> 1、框架分层------> 2、UDC 设备控制器层一、引言前一章大致分析了USB Gadget驱动的编写流程,这章就来结合UVC驱动,详细分析一下整个框架二、UVC USB Gadge驱动分析1、驱动入口DECLARE_USB_FUNCTION_INIT(uvc, uvc_alloc_inst, uvc_alloc);展开之后 sta原创 2021-01-27 20:26:23 · 946 阅读 · 0 评论 -
Linux驱动进阶学习--USB Gadget驱动分析(二)Gadget设备驱动编写流程
一、引言二、框架分层------> 1、UDC驱动------> 2、驱动例子------> 3、驱动编写流程------> 4、usb_gadget_driver结构一、引言前一章和大家介绍了USB Gadget驱动框架,这章就来具体的讲一下USB Gadget设备驱动的编写流程二、框架分层前一章已经介绍过,USB Gadget分为三层:Controller Drivers、Gadget Drivers、Upper Layers再简单一点的分类就是:硬件相关的原创 2021-01-24 12:05:10 · 977 阅读 · 0 评论 -
Linux驱动进阶学习--USB Gadget驱动分析(一)整体框架介绍
一、引言二、GTK中的dbus使用------> 1、dbus接口相关的定义------> 2、初始化------> 3、发送dbus信号------> 4、接收dbus Signal------> 5、接收dbus Method------> 6、需要双方协商的dbus配置USB Gadget介绍为了与主机端驱动设备的USB Device Driver概念进行区别,将在外围器件中运行的驱动程序称为USB Gadget Driver。其中,Host端驱动原创 2021-01-23 12:02:02 · 1241 阅读 · 0 评论