ffmpeg基础知识

背景知识

FFMPEG的视音频编解码功能确实太强大了,几乎囊括了现存所有的视音频编码标准,因此只要做视音频开发,几乎离不开它

播放视频流程

常见工具
查看媒体信息的工具:MediaInfo
二进制查看信息:UItraEdit
视频单项信息
封装格式信息工具->Elecard Format Analyzer
视频编码信息工具->Elecard Stream Eye
视频像素信息工具->YUVPlayer
音频采样数据工具->Adobe Audition

基本概念

两种模式播放器

可视化界面播放器:腾讯视频、爱奇艺视频、QQ影音、暴风影音、快播、优酷等等…
非可视化界面播放器(命令操作播放器):
FFmpeg->ffplay(命令)播放器(内置播放器)
vlc播放器、mplayer播放器

封装格式

通常看到视频格式:mp4、mov、flv、wmv、avi、rmvb、mkv…何为封装格式?就是把视频数据和音频数据打包成一个文件的规范。


封装格式作用.png
封装格式列表.png

MPEG2-TS格式
视频压缩数据格式:MPEG2-TS
特定:数据排版,不包含头文件,数据大小固定(188byte)的TS-Packet


MPEG2-TS格式.png

FLV格式
优势:由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等问题。
文件结构:FLV是一个二进制文件,由文件头(FLV header)和很多tag组成。tag又可以分成三类:audio,video,script,分别代表音频流,视频流,脚本流(关键字或者文件信息之类)。
FLV文件=FLV头文件+ tag1+tag内容1 + tag2+tag内容2 + ...+... + tagN+tag内容N。
FLV头文件:(9字节)
1-3:前3个字节是文件格式标识(FLV 0x46 0x4C 0x56).
4-4:第4个字节是版本(0x01)
5-5:第5个字节的前5个bit是保留的必须是0.
6-9: 第6-9的四个字节还是保留的.其数据为00000009
整个文件头的长度,一般是9(3+1+1+4)


FLV格式.png

视频编码

将视频像素数据(YUV、RGB)进行压缩成为视频码流,从而降低视频数据量(减小内存暂用),H.264最常用。

视频编码格式.png
RGB格式.png

音频编码

将音频采样数据(PCM格式)进行压缩成为音频码流,从而降低音频数据量,AAC、MP3等等…(减小内存暂用)。


音频编码格式分析.png

AAC格式
AAC,全称Advanced Audio Coding,是一种专为声音数据设计的文件压缩格式。与MP3不同,它采用了全新的算法进行编码,更加高效,具有更高的“性价比”。利用AAC格式,可使人感觉声音质量没有明显降低的前提下,更加小巧。苹果,诺基亚手机支持AAC格式的音频文件。
优点:相对于mp3,AAC格式的音质更佳,文件更小。
不足:AAC属于有损压缩的格式,与时下流行的APE、FLAC等无损格式相比音质存在“本质上”的差距。加之,传输速度更快的USB3.0和16G以上大容量MP3正在加速普及,也使得AAC头上“小巧”的光环不复存在。
①提升的压缩率:可以以更小的文件大小获得更高的音质;
②支持多声道:可提供最多48个全音域声道;
③更高的解析度:最高支持96KHz的采样频率;
④提升的解码效率:解码播放所占的资源更少;

视频像素数据

保存了屏幕上面每一个像素点的值,常见格式:RGB24、RGB32、YUV420P、YUV422P、YUV444P等等…一般最常见:YUV420P
视频像素数据文件大小计算?
例如:RGB24高清视频体积?(1个小时时长)
体积:3600 * 25 * 1920 * 1080 * 3 = 559GB(非常大 假设:帧率25HZ,采样精度8bit,每字节8位,24位3个字节)

YUV播放器,人类:对色度不敏感,对亮度敏感
Y表示:亮度,UV表示:色度

音频采样数据

保存了音频中的每一个采样点值
音频采样数据文件大小计算
例如:1分钟PCM格式歌曲
体积:60 * 44100 * 2 * 2 = 11MB
分析:60表示时间,44100表示采样率(一般情况下,都是这个采样率,人的耳朵能够分辨的声音),2表示声道数量,2表示采样精度16位 = 2字节

FFmepg应用

提供了一套比较完整代码->开源免费,核心架构设计思想:(核心 + 插件)设计

ffmpeg.exe(视频压缩->转码来完成)
作用:用于对视频进行转码
将mp4->mov,mov->mp4,wmv->mp4等等…
命令格式:ffmpeg -i {指定输入文件路径} -b:v {输出视频码率} {输出文件路径}
测试运行:将Test.mov->Test.mp4


ffmpeg命令参数.png

ffplay.exe
作用:播放视频
格式:ffplay {文件路径}
例如:./ffplay Test.mov

ffplay快捷键.png

案例:视频,转为高质量 GIF 动图?
命令:./ffmpeg -ss 00:00:03 -t 3 -i Test.mov -s 640x360 -r “15” dongtu.gif
解释:
1、ffmpeg 是你刚才安装的程序;

2、-ss 00:00:03 表示从第 00 分钟 03 秒开始制作 GIF,如果你想从第 9 秒开始,则输入 -ss 00:00:09,或者 -ss 9,支持小数点,所以也可以输入 -ss 00:00:11.3,或者 -ss 34.6 之类的,如果不加该命令,则从 0 秒开始制作;

3、-t 3 表示把持续 3 秒的视频转换为 GIF,你可以把它改为其他数字,例如 1.5,7 等等,时间越长,GIF 体积越大,如果不加该命令,则把整个视频转为 GIF;

4、-i 表示 invert 的意思吧,转换;

5、Test.mov 就是你要转换的视频,名称最好不要有中文,不要留空格,支持多种视频格式;

6、-s 640x360 是 GIF 的分辨率,视频分辨率可能是 1080p,但你制作的 GIF 可以转为 720p 等,允许自定义,分辨率越高体积越大,如果不加该命令,则保持分辨率不变;

7、-r “15” 表示帧率,网上下载的视频帧率通常为 24,设为 15 效果挺好了,帧率越高体积越大,如果不加该命令,则保持帧率不变;

8、dongtu.gif:就是你要输出的文件,你也可以把它命名为 hello.gif 等等。

视音频编解码技术零基础学习方法
FFMPEG视音频编解码零基础学习方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容