福优学苑专注音视频和流媒体的FFmpeg技术专栏
福优学苑专注音视频和流媒体的FFmpeg技术专栏_福优学苑@音视频+流媒体的博客-CSDN博客
-
FFmpeg入门详解--音视频原理及应用:梅会东:清华大学出版社
本书系统讲解了音视频和编解码的基础理论知识,包括H.264、H.265、AAC等常用编解码的入门知识。本书为FFmpeg音视频流媒体系列丛书的第一部。 全书共分为11章:系统讲解了声频基础知识、视频基础知识、音视频常用工具的使用、编解码基础知识、H.264、H.265、AAC等基础知识。 书中包含大量的示例,图文并茂,争取让一个纯读者读者真正入门,从此开启音视频编程的大门。本书知识体系比较完整,非常适合没有任何音视频基础的读者。讲解过程由浅入深,让你在不知不觉中学到了音视频和编解码的知识。 本书可作为音视频原创 2022-09-05 10:55:45 · 550 阅读 · 0 评论 -
Qt高级系列之8:Qt多线程线程池数据同步机制及文件下载器项目实战
课程目标:学习Qt多线程线程池及数据同步机制 ,多线程文件下载器项目实战;Qt线程池技术、Qt数据库连接池、等课程简介:1.带领您深入学习QT5/C++:Qt多线程线程池及数据同步机制 ,多线程文件下载器项目实战,继承自QThread,继承自QObject,QRunnable和QThreadPool,QtConcurrent,Qt多线程技术与数据加锁保护机制:QMutex,QSemaphore,QReadWriteLock,QWaitCondition;Qt线程池技术、Qt数据库连接池、等。2原创 2021-12-06 09:12:14 · 620 阅读 · 0 评论 -
Qt系列之7:QML高级特性及音乐播放器项目实战
课程目标:学习QML的传统经典音乐播放器项目实战;QML的高仿酷狗音乐播放器项目实战。课程简介:1.带领您深入学习QT5/C++:QML高级特性及音乐播放器项目实战;QML的MVC模式;QML的画布Canvas高级应用;QML的粒子模式;QML的着色器;QML访问数据库爽歪歪;QML的传统经典音乐播放器项目实战;QML的高仿酷狗音乐播放器项目实战。。2.所有章节均有理论知识介绍、接口讲解、实例代码讲解,讲解过程中不断穿插老师在开发过程中遇到的问题及解决方法(可以下载所有的电子课件与源码)。原创 2021-12-06 09:09:09 · 397 阅读 · 0 评论 -
Qt5(C++)高级篇之6:QML常用控件自定义组件及多媒体入门
课程目标:学习QML的标准控件编程和自定义组件编程,包括美化效果,并动手实践,自己写出代码课程简介:1.带领您深入学习QT5/C++:QML常用控件编程、QML的多媒体入门、逐步提升Qml编程水平。2.所有章节均有理论知识介绍、接口讲解、实例代码讲解,讲解过程中不断穿插老师在开发过程中遇到的问题及解决方法(可以下载所有的电子课件与源码)。课程大纲-Qt5(C++)高级篇之6:QML常用控件自定义组件及多媒体入门资料下载第1章 QML的标准控件系列之1 (1小时23分钟 7节)原创 2021-12-06 09:06:01 · 474 阅读 · 0 评论 -
FFmpeg第一季:小白开窍+九阳神功
敬告:该系列的课程在抓紧录制更新中,敬请大家关注。敬告:该系列的课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,OpenCV等。包括:音视频、流媒体、直播、Android、视频监控28181、等。---------------------------------------------------FFmpeg第一季:小白开窍+九阳神功---------------------------------------------------FFmpeg系列1:小...原创 2021-09-09 19:21:31 · 114 阅读 · 0 评论 -
(7)H.264快速入门
H.264快速入门一、视频编码标准化组织从事视频编码算法的标准化组织主要有两个,ITU-T和ISO。ITU-T,全称International Telecommunications Union - Telecommunication Standardization Sector,即国际电信联盟——电信标准分局。该组织下设的VECG(Video Coding Experts Group)主要负责面向实时通信领域的标准制定,主要制定了H.261/H263/H263+/H263++...转载 2021-01-28 17:28:30 · 91 阅读 · 1 评论 -
(8)H.264编码原理
H.264编码原理转自:http://www.hellotongtong.com/avcodecbase/avcodecbase-h264base-principle.html0、序言 首先要弄明白编码的目的,有目的的学习效率会更好。编码是为了将数据进行压缩,这样在传输的过程中就不会使资源被浪费,用一个简单的例子来说明编码的必要性: 而之所以会有视频编码,关键就在于此:一个视频,如果未经编码,它的体积是非常庞大的。...转载 2021-01-28 17:34:20 · 151 阅读 · 0 评论 -
H.264笔记整理1
H.264整理1转自:http://www.hellotongtong.com/avcodecbase/avcodecbase-h264-learning100.html1.、什么是 H264?H264是一种视频压缩标准。根据不同类别,编码器会使用不同类型的帧,I帧、P帧和B帧。这里写图片描述(图出自H.264视频压缩标准白皮书)H264 是 MPEG-4 标准所定义的最新编码格式,同时也是技术含量最高、代表最新技术水平的视频编码格式之一,标准写法应该是H.264..转载 2021-01-28 17:39:00 · 89 阅读 · 0 评论 -
H.264笔记整理2
H.264整理2转自:http://www.hellotongtong.com/avcodecbase/avcodecbase-h264-learning110.htmlH264编码基本H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。这个标准通常被称之为H.264/AVC(或者AVC/H.264或者H....转载 2021-01-28 17:39:59 · 147 阅读 · 0 评论 -
H.264笔记整理3
H.264整理3转自:http://www.hellotongtong.com/avcodecbase/avcodecbase-h264-learning120.html需求在移动端做音视频开发不同于基本的UI业务逻辑工作,音视频开发需要你懂得音视频中一些基本概念,针对编解码而言,我们必须提前懂得编解码器的一些特性,码流的结构,码流中一些重要信息如sps,pps,vps,start code以及基本的工作原理,而大多同学都只是一知半解,所以导致代码中的部分内容虽可以简单理解却...转载 2021-01-28 17:41:47 · 510 阅读 · 0 评论 -
(1)音视频入门引言
转自:http://www.hellotongtong.com/avwelcome/avbase-guideline.html一.5G+将推动音视频行业高度融合发展 5G:万物互联 音视频产业的发展规律一直是需求和技术创新双轮驱动,并且互为因果。 在AI时代,技术创新将不断挖掘音视频产业的潜力,使其有更强的信息承载能力和更多潜力的应用价值,从而不断推进产业升级。 今天,直播+语音场景掀起了线上互动的浪潮,而保障实时传输的流畅、稳定、视频高清、达到完美的用户体验是对实时音视频技术的考转载 2021-03-21 08:39:43 · 44 阅读 · 0 评论 -
(6)视频直播流程
转自:http://www.hellotongtong.com/avwelcome/avbase-guideline.html视频直播的流程可以分为如下几步: 采集–>处理–>编码和封装–>推流到服务器–>服务器流分发–>播放器流播放1.采集 采集是整个视频推流过程中的第一个环节,它从系统的采集设备中获取原始视频数据,将其输出到下有一个环节。视频的采集涉及两方面数据的采集:音频采集和图像采集,他们分别对应两种完全不同的输入源和数据格式。音频采集 音转载 2021-03-21 08:45:49 · 219 阅读 · 0 评论 -
直播的实现
转自:http://www.hellotongtong.com/avwelcome/avbase-guideline.html1.直播中使用的流媒体协议 RTMP,Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议RTMP/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信.转载 2021-03-21 08:49:07 · 29 阅读 · 0 评论 -
(5)流媒体相关技术
1.智能流技术 自动检测网络状况,并将音视频的属性调整到最佳,使用户收到与其网络速度相符媒体流,从而获取用户最佳的用户体验vbr,多码流技术。2.分流(splitting)技术 一般只能直播中使用。发送服务器将媒体流发送到分布在各地的多个接收服务器,客户端可以就近访问服务器获得较高质量的媒体流,同时减少带宽使用。推流为将直播内容推送至服务器的过程;拉流为服务器已有直播内容,用指定地址进行拉取的过程。 SS, S1,S2,S3 SRS:开源的流媒体服务器3.缓存技术 解转载 2021-03-21 08:50:05 · 28 阅读 · 0 评论 -
H.264/AVC
转自:http://www.hellotongtong.com/avwelcome/avbase-guideline.htmlH.264/AVC 是 ITU-T 视频编码专家组(VCEG)和 ISO/IEC 动态图像专家组(MPEG )联合组成的联合视频组(JVT)共同努力制订的新一代视频编码标准。 它最大的优势是具有 很高的数据压缩比率,在同等图像质量的条件下,H.264 的压缩比是 MPEG-2 的 2 倍以上,是 MPEG-4 的 1.5~2 倍。 同时,采用 视频编码层( (VCL)转载 2021-03-21 08:51:42 · 38 阅读 · 0 评论 -
(2)音视频到底是什么
转自:http://www.hellotongtong.com/avwelcome/avbase-iswhat.html一.视频是什么 动画片 不知道大家小时候是否玩过一种动画小人书,连续翻动的时候,小人书的画面就会变成一个动画,类似现在的gif格式图片。请注意:翻动速度一定要够快。 本来是一本静态的小人书,通过翻动以后,就会变成一个有趣的小动画,如果画面够多,翻动速度够快的话,这其实就是一个小视频。 而视频的原理正是如此,由于人类眼睛的特殊结构,画面快速切换时,画面会有残.转载 2021-03-21 08:58:22 · 237 阅读 · 0 评论 -
(4)流媒体专有名词整理
对等连接:(peer-to-peer,简写为 P2P)是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。只要两个主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。这时,双方都可以下载对方已经存储在硬盘中的共享文档。因此这种工作方式也称为P2P文件共享。 媒体协商: 指通信会话中的双方(例如两个浏览器)进行通信并就可接受的媒体会话达成一致的过程. 提议: 一方向另一方发送其支持并要设置的媒体类型和功能 应答: 另一方予以回应,指示在所提议的媒体类型和功能中,哪些是此转载 2021-03-21 09:01:29 · 61 阅读 · 0 评论 -
(3)多媒体到底是什么?
转自:http://www.hellotongtong.com/avwelcome/avbase-multimedia-intro.html1.多媒体技术简介 多媒体技术是指通过计算机对文字、数据、图形、图像、动画、声音等多种媒体信息进行综合处理和管理,使用户可以通过多种感官与计算机进行实时交互的技术,又称为计算机多媒体技术。2.真正的多媒体技术 真正的多媒体技术所涉及的对象是计算机技术的产物,而其他的单纯事物,如电影、电视、音响等,均不属于多媒体技术的范畴。 多媒体技术中.转载 2021-03-21 09:03:48 · 98 阅读 · 0 评论 -
VLC作为流媒体服务器
VLC的功能强大,它不仅仅是一个视频服务器,也可以作为小型的视频服务器,更可以一边播放一边转码,把视频流发送到网络上。打开另一个VLC粘贴:rtsp://localhost:554/zzzaaa。转载 2021-06-22 16:38:48 · 3 阅读 · 0 评论 -
(2)音视频到底是什么
1.2音视频到底是什么视频是什么?动画书不知道大家小时候是否玩过一种动画小人书,连续翻动的时候,小人书的画面就会变成一个动画,类似现在的gif格式图片。请注意:翻动速度一定要够快。本来是一本静态的小人书,通过翻动以后,就会变成一个有趣的小动画,如果画面够多,翻动速度够快的话,这其实就是一个小视频。而视频的原理正是如此,由于人类眼睛的特殊结构,画面快速切换时,画面会有残留(视觉暂留),感觉起来就是连贯的动作。所以,视频就是由一系列图片构成的。视频...转载 2021-06-22 16:35:02 · 151 阅读 · 0 评论 -
音视频入门引言
1.1音视频入门引言“5G+”将推动音视频行业高度融合发展音视频产业的发展规律一直是需求和技术创新双轮驱动,并且互为因果。在AI 时代,技术创新将不断挖掘音视频产业的潜力,使其有更强的信息承载能力和更具潜力的应用价值,从而不断推进产业升级。今天,直播 + 语音场景掀起了线上互动的浪潮,而保障实时传输的流畅、稳定、视频高清、达到完美的用户体验是对实时音视频技术的考验。随着5G商用起步,音视频产业将迎来哪些商机?在5G将会影响的领域中,音视频产... -
FFmpeg入门详解之42:FFmpeg 常用数据结构
FFMPEG中结构体很多。a) 解协议(http,rtsp,rtmp,mms)AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。每种协议都对应一个URLProtocol结构。(注意:FFMPEG中文件也被当做一种协议“file”)b)解封装(flv,avi,rmvb,mp4)AVFormatContext主要存储视音频封装格式中包含的信息;AVInputFormat存储输入视音频使用的封装格式。原创 2022-09-23 14:08:01 · 0 阅读 · 0 评论 -
FFmpeg入门详解之41:搭建环境Qt FFmpeg
开发环境为win10 64bit +QT5.9.8 ,需下载window 32 bit对应的shared文件(包含dll文件)和Dev文件(包含动态库和include的文件以及examples)。包含头文件,注意QT为C++开发环境,FFMpeg用的是C 开发的,在CPP导入C的特性,需加关键词“ extern “C”“step1: 下载FFmpeg相应的动态库文件和程序执行所依赖的.dll文件。将下载的dev文件解压,文件名改为ffmpeglib,并copy到工程所在的目录。否则会“程序异常退出”。原创 2022-09-23 14:04:40 · 3 阅读 · 0 评论 -
FFmpeg入门详解之39:FFmpeg读取设备libavdevice
2)、window_size:支持的窗口大小(描述提供给用户的窗口大小的大小)。类型:AV_OPT_TYPE_IMAGE_SIZE。类型:AV_OPT_TYPE_INT(AVSampleFormat值)3)、frame_size:支持的帧大小(描述提供的视频帧的大小)。类型:AV_OPT_TYPE_INT(AVPixelFormat值)类型:AV_OPT_TYPE_INT(AVCodecID值)4)、fps:支持的fps值类型:AV_OPT_TYPE_RATIONAL。// 左上角的y坐标。原创 2022-09-23 13:56:17 · 4 阅读 · 0 评论 -
FFmpeg入门详解之38:FFmpeg特效处理libavfilter
libavfilter是FFmpeg提供的滤波器类,可以用其做一些音视频处理,如音视频倍速、水平翻转、裁剪、加方框、叠加文字等功能。例如之前介绍过的音频重采样,视频的像素格式转换,本质上也是滤波,所以libavfilter也可以实现libswresample、libswscale提供的对音视频格式变换的功能。1、基本概念:libavfilter结构类似于directShow,可以同时存在多个filter(滤波器)。原创 2022-09-23 13:53:20 · 3 阅读 · 0 评论 -
FFmpeg入门详解之37:FFmpeg编解码及转码
大流程可以划分为输入、输出、转码、播放四大块。其中转码涉及比较多的处理环节,转码功能在整个功能图中占比很大。转码的核心功能在解码和编码两个部分,但在一个可用的示例程序中,编码解码与输入输出是难以分割的。解复用器为解码器提供输入,解码器会输出原始帧,对原始帧可进行各种复杂的滤镜处理,滤镜处理后的帧经编码器生成编码帧,多路流的编码帧经复用器输出到输出文件。1.1 解复用从输入文件中读取编码帧,判断流类型,根据流类型将编码帧送入视频解码器或音频解码器。1.2 解码将视音频编码帧解码生成原始帧。原创 2022-09-23 13:47:46 · 3 阅读 · 0 评论 -
FFmpeg入门详解之36:FFmeg格式封装libavformat
封装格式(container format)可以看作是编码流(音频流、视频流等)数据的一层外壳,将编码后的数据存储于此封装格式的文件之内。封装又称容器,容器的称法更为形象,所谓容器,就是存放内容的器具,饮料是内容,那么装饮料的瓶子就是容器。格式封装转封装是将一种封装格式转换为另一种封装格式,不涉及编解码操作,转换速度非常快。原创 2022-09-23 13:44:58 · 1 阅读 · 0 评论 -
FFmpeg入门详解之35:FFplay播放器
0){//打开文件。printf("文件信息-----------------------------------------\n");//存储解码后AVFrame。//------------SDL显示--------//输出一下信息-----------------------------原创 2022-09-23 13:42:16 · 3 阅读 · 0 评论 -
FFmpeg入门详解之34:FFmpeg应用之视频播放器
Red、Green、Blue三种颜色,可以混合成世界上所有颜色,每个像素点都是由R、G、B三个分量组成最后是视音频的同步,也是比较难的部分音视频同步的目的是为了。原创 2022-09-23 13:38:10 · 3 阅读 · 0 评论 -
FFmpeg入门详解之33:Windows下亲手编译FFmpeg
1.、下载地址:http://yasm.tortall.net/Download.html,下载其64位版本Win64 .exe (64 位 Windows 通用)。2、安装后,到msys2窗口执行,安装编译程序: pacman -S make gcc diffutils pkg-config。4.、重命名C:\msys64\usr\bin\link.exe 为C: \msys64\usr\bin\link.bak,,并放置于 c:\msys64\usr\bin\目录中。注意:不要下载最新版本,原创 2022-09-23 11:29:20 · 9 阅读 · 0 评论 -
FFmpeg入门详解之32:Ubuntu编译FFmpeg
查询的是当前系统目录下libavdevice的版本号,默认是从/usr/lib/pkgconfig, /usr/local/lib/pkgconfig,/usr/share/pkgconfig/开始查询libavdevice.pc,旧版本可以使用--disable-yasm禁用汇编语言,新版本支持enable-x86asm / --disable-x86asm instead.启用/禁用汇编加速。源码方式安装ffmpeg,麻烦,还要手动下载安装。如上,就安装好了,打完收工~~~原创 2022-09-22 11:09:59 · 76 阅读 · 0 评论 -
FFmpeg入门详解之31:FFmpeg搭建环境及初步体验
可用的有 0 FF_IDCT_AUTO 缺省的IDCT 1 FF_IDCT_INT 2 FF_IDCT_SIMPLE 3 FF_IDCT_SIMPLEMMX 4 FF_IDCT_LIBMPEG2MMX 5 FF_IDCT_PS2 6 FF_IDCT_MLIB 7 FF_IDCT_ARM 8 FF_IDCT_ALTIVEC 9 FF_IDCT_SH4 10 FF_IDCT_SIMPLEARM。-ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持。原创 2022-09-22 11:08:05 · 4 阅读 · 0 评论 -
FFmpeg入门详解之30:FFmpeg是什么
FFMPEG难度比较大,却没有一个循序渐进,由简单到复杂的教程。现在网上的有关FFMPEG的教程多半难度比较大,不太适合刚接触FFMPEG的人学习;而且很多的例子程序编译通不过,极大地打消了学习的积极性。我自己在刚开始学习FFMPEG的时候也遇到了很大的困难。为了帮助更多的人快速成为“大神”,我想总结一个学习FFMPEG的方法,方便大家循序渐进的学习FFMPEG。PS:有不少人不清楚“FFmpeg”应该怎么读。它读作“ef ef em peg”原创 2022-09-22 11:05:09 · 27 阅读 · 0 评论 -
FFmpeg入门详解之29:FFmpeg音视频播放原理与实战
封装格式种类很多,例如MP4,MKV,RMVB,TS,FLV,AVI等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。封装格式种类很多,例如MP4,MKV,RMVB,TS,FLV,AVI等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。封装格式种类很多,例如 MP4,MKV,RMVB,TS,FLV,AVI 等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。例如,采用RTMP协议传输的数据,经过解协议操作后,输出FLV格式的数据。原创 2022-09-22 11:00:36 · 2 阅读 · 0 评论 -
FFmpeg入门详解之28:FFmpeg音视频解码原理与实战
音视频编码流程简介(使用 ffmpeg)第一步:注册组件(编码器、解码器…)第二步:初始化封装格式上下文第三步:打开输入文件第四步:创建输出码流(设置为视频流或音频流)第五步:查找视频/音频编码器第六步:打开视频/音频编码器第七步:写入文件头信息(有些文件头信息)->一般情况下都会有第八步:循环编码视频像素数据->视频压缩数据循环编码音频采样数据->音频压缩数据第九步:将编码后的视频/音频压缩数据写入文件中第十步:输入像素/采样数据读取完毕后回调函数作用:输出编码器中剩余AVPacket。原创 2022-09-22 10:57:59 · 80 阅读 · 0 评论 -
FFmpeg入门详解之27:FFmpeg封装的原理与实战
根据流程可以推倒出大致的代码实现:利用给定的YUV数据编码。原创 2022-09-22 10:53:42 · 1 阅读 · 0 评论 -
FFmpeg入门详解之26:FFmpeg解封装的原理与实战
首先对输入文件(Container 文件)、输出文件(Video/Audio 进行处理),方便后面的使用;其次打开输入文件,并分配 Format Context,从输入文件中得到流信息之后打开视频、音频编码器 Context,针对视频数据,分配图像 image。分配 frame 结构,初始化 packet,从输入文件中读取 frame 信息,并之后进行解码 packet。最后释放各种分配的数据信息。原创 2022-09-22 10:50:03 · 17 阅读 · 0 评论 -
FFmpeg入门详解之25:FFmpeg开发环境的搭建
endif#endif}添加如下code,若能成功输出ffmpeg version信息,则代表开发环境搭建成功。{}原创 2022-09-22 10:47:29 · 13 阅读 · 0 评论 -
FFmpeg入门详解之24:短视频技术原理
包括核心的视频采集、编解码、传输优化,包括CDN、分布式存储等,不仅要让业务能快速上线,还要保证用户体验,不同终端、不同码率、不同格式、不同网络的自适应,高并发的支持,都是必须的。如果你的作品是围绕你个人来创作的,不论以何种方式,都要以你个人出镜为主,那么将来变现的手段就可以靠粉丝打造个人 IP 实现,费启鸣就是一个很好的典型。这样的好处在于,你创造的内容是固定且垂直的,受视频吸引并选择关注的粉丝,定位会非常的精准,他们往往都是非常热衷这一领域的群体,将来可以围绕知识付费进行变现。原创 2022-09-22 10:43:51 · 100 阅读 · 0 评论 -
FFmpeg入门详解之23:视频转码原理
我们可以将 MPEG-2 全 I 帧 50Mbps 的视频源数据转换为 25Mbps 码流的 DV 格式数据,用于笔记本移动编辑系统,同时产生一个 300*200 低分辨率的 MPEG-4 文件,使用 REAL 或者微软的 WMV 格式进行封装,通过互联网络传输至主管领导处用于审看。如我们将一个 MPEG-2 的视频数据转换成 MPEG-4 的视频数据,当然可以采用的方法是先将 MPEG-2 的视频解压缩成单 帧的图像序列,再将其重新压缩编码成为 MPEG-4 的视频数据。原创 2022-09-22 10:41:45 · 65 阅读 · 0 评论 -
FFmpeg入门详解之22:视频播放原理
解协议,解封装,解码视音频,视音频同步。注意:“文件”本身也是一种“协议”。解协议将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,或是MMS等等。这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停止),或者对网络状态的描述等。解协议的过程中会去除掉信令数据而只保留视音频数据。例如,采用RTMP协议传输的数据,经过解协议操作后,输出FLV格式的数据。解封装。原创 2022-09-21 14:30:27 · 55 阅读 · 0 评论 -
FFmpeg入门详解之21:视频编码原理的实现
也称为YUV,是YUV的压缩版本,不同之处在于Y'CbCr用于数字图像领域,YUV用于模拟信号领域,MPEG、DVD、摄像机中常说的YUV其实就是Y'CbCr。在最近几十年中,视频工程师发现,眼睛对于亮和暗的分辨要比对颜色的分辨更精细一些,也就是说,人眼对色度的敏感程度要低于对亮度的敏感程度。视频序列中的第一个帧,始终都是I帧。如果一段1分钟的视频,有十几秒画面是不动的,或者,有80%的图像面积,整个过程都是不变(不动)的。是的,寻找像素之间的相关性,还有不同时间的图像帧之间,它们的相关性。原创 2022-09-21 14:24:12 · 38 阅读 · 0 评论 -
FFmpeg入门详解之20:视频编码原理简介
IPB帧I帧:帧内编码帧(intra picture),采用帧内压缩去掉空间冗余信息。P帧:前向预测编码帧(predictive-frame),通过将图像序列中前面已经编码帧的时间冗余信息来压缩传输数据量的编码图像。参考前面的I帧或者P帧。B帧:双向预测内插编码帧(bi-directional interpolated prediction frame),既考虑源图像序列前面的已编码帧,又顾及源图像序列后面的已编码帧之间的冗余信息,来压缩传输数据量的编码图像,也称为双向编码帧。原创 2022-09-21 14:08:10 · 237 阅读 · 0 评论 -
FFmpeg入门详解之19:音视频封装原理简介
数据封装(baiData Encapsulation),笼统地讲,就是把业务数据映射到du某个封装协议zhi的净dao荷中,然后填充对应协议的包头,形成封装协议的数据包,并完成速率适配。解封装,就是封装的逆过程,拆解协议包,处理包头中的信息,取出净荷中的业务信息数据封装和解封装是一对逆过程。封装格式也称多媒体容器,它只是为多媒体编码提供了一个“外壳”,也就是将所有的处理好的视频、音频或字幕都包装到一个文件容器内呈现给观众,这个包装的过程就叫封装。原创 2022-09-21 13:57:04 · 100 阅读 · 0 评论 -
FFmpeg入门详解之18:视频基础概念
到了彩色电视规格的制定,是以YUV/YIQ的格式来处理彩色电视图像,把UV视作表示彩度的C(Chrominance或Chroma),如果忽略C信号,那么剩下的Y(Luma)信号就跟之前的黑白电视频号相同,这样一来便解决彩色电视机与黑白电视机的兼容问题。其中光谱色所占的比例愈大,颜色接近光谱色的程度就愈高,颜色的饱和度也就愈高。这种视频格式的优点是图像质量好。因为人眼对亮度敏感,对色度不敏感,因此减少部分UV的数据量,人眼却无法感知出来,这样可以通过压缩UV的分辨率,在不影响观感的前提下,减小视频的体积。原创 2022-09-20 14:21:37 · 144 阅读 · 0 评论 -
FFmpeg入门详解之17:音频深度学习
音频分割是一个重要的预处理步骤,通过它,我们可以将一个嘈杂而冗长的音频信号分割成短小、均匀的段落,再进行序列建模。目前它的一个应用是心音分割,即识别心脏的特定信号,帮助诊断心血管疾病。5.音源分离。原创 2022-09-20 14:02:21 · 135 阅读 · 0 评论 -
FFmpeg入门详解之16:音频编码原理
将各子带通过等效于单边带调幅的调制特性,将各子带搬移到零频率附近,分别经过BPF(共m个)之后,再以规定的速率(奈奎斯特速率)对各子带输出信号进行取样,并对取样数值进行通常的数字编码,其设置m路数字编码器。真实值和预测值之间的差值叫残差,是编码的对象。由于人耳对不同频率的解析度不同,MPEG1/Audio将22khz内可感知的频率范围,依不同编码层,不同取样频率,划分成23~26个临界频带。即在DPCM的基础上,根据信号的变化,适当调整量化器和预测器,使预测值更接近真实信号,残差更小,压缩效率更高。原创 2022-09-20 14:00:27 · 123 阅读 · 0 评论 -
FFmpeg入门详解之15:音频基本概念
混音,顾名思义,就是把两路或者多路音频流混合在一起,形成一路音频流。混流,则是指音视频流的混合,也就是视频画面和声音的对齐,也称混流。并非任何两路音频流都可以直接混合。格式相同,要解压成 PCM 格式。采样率相同,要转换成相同的采样率。主流采样率包括:16k Hz、32k Hz、44.1k Hz 和 48k Hz。帧长相同,帧长由编码格式决定,PCM 没有帧长的概念,开发者自行决定帧长。为了和主流音频编码格式的帧长保持一致,推荐采用 20ms 为帧长。原创 2022-09-20 13:52:43 · 116 阅读 · 0 评论 -
FFmpeg入门详解之14:FFmpeg简介
ffmpeg是一个跨平台的音视频处理库,为了跨平台那么就需要编译出适用于各个平台的ffmpeg库。一般在windows平台下会进行windows开发和安卓开发,所以本文的目的就是在windows平台下编译用于windows和安卓使用的ffmpeg库FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。原创 2022-09-20 13:46:12 · 69 阅读 · 0 评论 -
FFmpeg入门详解之13:everything简介
“Everything”使用非常少的系统资源。“Everything”搜索只基于文件和文件夹的名称,所以它创建数据库很快。“Everything”在搜索之前就会把所用的文件和文件夹都列出来,这一点与Windows自带的搜索系统不一样,所以我们称之为“Everything”。它体积小巧,界面简洁易用,快速建立索引,快速搜索,同时占用极低的系统资源,实时跟踪文件变化,并且还可以通过http或ftp形式分享搜索。“Everything”是一个运行于Windows系统,基于文件、文件夹名称的快速搜索引擎。原创 2022-09-20 13:44:01 · 35 阅读 · 0 评论 -
FFmpeg入门详解之12:Elecard Stream Analyzer码流分析工具
是一款简单小巧的码流分析工具,通过该软件,用户可以快速的分析查看视频序列码流;软件操作简单,使用方便,用户只需将视频文件导入软件内,系统就会自动帮您分析文件,分析后就会显示视频码的文件大小、码流类型、数据包数等内容了,方便用户对视频的质量进行初步的评估,有效的改善视频的拍摄质量以及制作相应的修改方案;Elecard StreamEye Tools是一款分析视音频的好工具。1. 显示和保存流摘要和图片信息2. 显示的解码,预测和未经过滤的帧数据(YUV和单机)3. 显示剩余,转换和反量化系数。原创 2022-09-20 13:40:12 · 35 阅读 · 0 评论 -
FFmpeg入门详解之11:H264BSAnalyzer简介
H.265分析以h264bitstream为参考基准代码,同时参考HM16.6代码。支持保存为RGB(24bit)、YUV(yuv420p)原始文件,支持保存为BMP、JPEG图片。支持不同NAL的显示,包括VPS、SPS、PPS、SEI、AUD、Slice的解析。H.265文件后缀名为.h265、.h265、.hevc。H.264文件后缀名为.h264、.h264、.avc。支持保存为AVI、MP4、MOV格式视频文件。支持不同slice的着色显示,显示帧序号。支持播放H.264、H.265裸码流文件。原创 2022-09-19 14:50:04 · 99 阅读 · 0 评论 -
FFmpeg入门详解之10:FlvAnalyser简介
直播推流的时候需要用到RTMP的视频数据格式,RTMP的视频格式和FLV很像,通过查看FLV的格式文档,可以分析FLV格式来解析RTMP格式。总体上看,FLV包括文件头(File Header)和文件体(File Body)两部分,其中文件体由一系列的Tag及Tag Size对组成。FLV是流媒体封装格式,我们可以将其数据看为二进制字节流。RTMP中的数据就是由FLV的TAG中的数据区构成。2 数据分析:Tag列表,16进制分析。8 视频、音频ES提取存文件;9 时间信息提取存文件;原创 2022-09-19 14:47:48 · 10 阅读 · 0 评论 -
FFmpeg入门详解之9:Audacity音频工具
Audacity是一款支持Linux、MacOS以及Windows等多种平台的快速多轨音频编辑、录制工具,支持WAV, AIFF, Ogg和MP3格式音乐文件,提供编辑、混音功能并提供预置效果、插件和无限次反悔操作。Audacity下载地址:https://pc.qq.com/detail/0/detail_640.html。原创 2022-09-19 14:44:41 · 142 阅读 · 0 评论 -
FFmpeg入门详解之8:YUV Player简介
功能可播放各种格式的YUV文件。默认预留常见分辨率,同时支持自定义高宽,可添加至系统。支持不同帧率播放,支持循环播放。支持前后逐帧跳转;支持跳转首帧、尾帧。支持窗口缩放。支持保存YUV文件或BMP图片文件。自动解析文件名,得到分辨率、YUV格式。原创 2022-09-19 14:20:56 · 91 阅读 · 0 评论 -
FFmpeg入门详解之7:MediaInfo简介
信息导出:文本,CSV,HTML……三种发布版本:图形界面,命令行,DLL(动态链接库)与Windows资源管理器整合:拖放,右键菜单国际化:有多种界面语言供选择(软件界面)轻松实现本地化 (需要志愿者翻译语言文件)媒体文件信息涉及到的内容比价复杂,这里简单说明一下,后续再进一步说明。此处先把视图切换为HTML(View菜单—>HTML)可以看出,主要包括三个部分的参数,分别是:General主要是视频封装格式的信息,包括:文件大小、文件时长、比特率、编码时间等。原创 2022-09-19 14:16:46 · 14 阅读 · 0 评论 -
FFmpeg入门详解之6:VLC播放器简介
VLC播放器VLC支持多种常见音视频格式,支持多种流媒体传输协议,也可当做本地流媒体服务器使用,功能十分强大。官网下载地址:https://www.videolan.org/VLC多媒体播放器(最初命名为VideoLAN客户端)是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光盘及各类流式协议。它也能作为unicast或 multicast的流式服务器在IPv4或 IPv6的高速网络连接下使用。原创 2022-09-19 14:11:01 · 220 阅读 · 0 评论 -
FFmpeg入门详解之5:短视频基础概念
不同于微电影和直播,短视频制作并没有像微电影一样具有特定的表达形式和团队配置要求,具有生产流程简单、制作门槛低、参与性强等特点,又比直播更具有传播价值,超短的制作周期和趣味化的内容对短视频制作团队的文案以及策划功底有着一定的挑战,优秀的短视频制作团队通常依托于成熟运营的自媒体或IP,除了高频稳定的内容输出外,也有强大的粉丝渠道;短视频的出现丰富了新媒体原生广告的形式。写标题也没有固定的套路,也没有固定的模板,也可以随着自己的角度去写,有时候就靠感觉,不同的人都有自己的一套写标题的手法,因人而异效果也不同。原创 2022-09-16 11:33:14 · 11 阅读 · 0 评论 -
FFmpeg入门详解之3:多媒体到底是什么
多媒体技术是指通过计算机对文字、数据、图形、图像、动画、声音等多种媒体信息进行综合处理和管理,使用户可以通过多种感官与计算机进行实时信息交互的技术,又称为计算机多媒体技术。媒体(Media)就是指信息的载体,其本质是信息传播的技术和手段。所谓多媒体,就是指能够同时处理两种以上感觉媒体的计算机系统,其目标是为用户提供更丰富的应用体验。感觉媒体:感觉媒体是指直接作用于人的感觉器官、从而为人的感知系统所接受的信息形态或媒体形式。感觉媒体主要有文字、声音、图形、图像、动画、视频等形态。原创 2022-09-16 11:21:50 · 6 阅读 · 0 评论 -
FFmpeg入门详解之2:音视频到底是什么
动画书不知道大家小时候是否玩过一种动画小人书,连续翻动的时候,小人书的画面就会变成一个动画,类似现在的gif格式图片。请注意:翻动速度一定要够快。本来是一本静态的小人书,通过翻动以后,就会变成一个有趣的小动画,如果画面够多,翻动速度够快的话,这其实就是一个小视频。而视频的原理正是如此,由于人类眼睛的特殊结构,画面快速切换时,画面会有残留(视觉暂留),感觉起来就是连贯的动作。所以,视频就是由一系列图片构成的。原创 2022-09-16 11:07:08 · 4 阅读 · 0 评论 -
FFmpeg入门详解之1:音视频入门引言
虽然网上有很多的博文总结了音视频技术的学习路线,但是相关的知识都相对独立,有讲“音视频解码相关”的、有讲“OpenGL相关”的、也有讲“FFmpeg相关的”、还有讲“RTP/RTCP、RTMP、HLS、QUIC等通信相关的”,但是对于新手来说,把所有的知识衔接串联起来,并很好的理解所有的知识,却是非常困难的。本人在学习音视频开发的过程中,深刻体会到了由于知识的分散、过渡断层带来的种种困惑和痛苦,因此希望通过自己的理解,可以把音视频开发相关的知识总结出来,并形成系列文章,循序渐进,剖析各个环节,
摘抄自网络,便于检索查找。

浙公网安备 33010602011771号