视频播放及FFmpeg学习笔记

播放流程

视频播放器播放网络视频,需要经过以下步骤:解协议,解封装,解码视音频,视音频同步。如果播放本地视频则不需要解协议。

image

流媒体协议是服务器与客户端之间的通信遵循的规定.主要的流媒体协议有RTSP+RTP, RTMP,RTMFP,MMS,HTTP.

视频文件后缀(MP4,MKV,RMVB,TS,FLV,AVI等)格式代表封装格式,指的是将视频数据和音频数据打包成一个文件的规范。不能从文件后缀判断所使用的视音频编码标准。不同的封装格式对广泛的视音频编码标准的支持力度不同.

音频编码的主要作用是将音频采样数据(PCM等)压缩成为音频码流, 从而降低音频的数据量.一般情况下音频的数据量要远小于视频的数据量.音频的压缩编码标准包含AAC,WMA,MP3,AC-3等。音频编码的音质大致排名:AAC+ > MP3PRO > AAC> RealAudio > WMA > MP3

视频编码的主要作用是将视频像素数据(RGB,YUV)压缩成为视频码流,从而降低视频的数据量.视频的压缩编码标准则包含H.264,HEVC(H.265),MPEG4,MPEG2,VC-1,VP9,VP8等。

解码最重要最复杂,通过解码,压缩编码的视频数据输出成为非压缩的颜色数据,例如YUV420P,RGB等;压缩编码的音频数据输出成为非压缩的音频抽样数据,例如PCM数据。参考

点播及直播

点播:根据用户需求播放相应视频节目。普遍采用HTTP作为流媒体协议,H.264作为视频编码格式,AAC作为音频编码格式.HTTP协议不会出现丢包等现象,从而保证了视频的质量.直播:直接将视频内容实时发送给用户。普遍采用RTMP作为流媒体协议,FLV作为封装格式,H.264作为视频编码格式,AAC作为音频编码格式.

软编码及硬编码

软编码:使用CPU进行编码。硬编码:不使用CPU进行编码,使用显卡GPU,专用的DSP、FPGA、ASIC芯片等硬件进行编码。软解码兼容性好,硬解码依赖各个厂家硬件实现所以兼容性不高。

H264协议帧

H264协议里定义了三种帧,全帧压缩编码帧是I帧,将全帧图像信息进行JPEG压缩编码及传输;参考之前的I帧生成的只包含差异部分编码的帧叫P帧,属于前向预测的帧间编码;参考前后的帧编码的叫B帧,双向预测内插编码帧,B帧传送的是它前面的I或P帧和后面的P帧两个参考帧之前的预测误差和运动矢量,压缩比最高。参考

中间数据

音频是wav,视频是yuv,图像是bmp

FFmpeg

FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能1,包含了libavcodec ─这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。

Ffmpeg 处理流程分层

协议层(Protocol Layer):该层处理的数据为符合特定流媒体协议规范的数据,例如http,rtmp,file等。封装层(Format Layer):该层处理的数据为符合特定封装格式规范的数据,例如mkv,mp4,flv,mpegts,avi等。编码层(Codec Layer):该层处理的数据为符合特定编码标准规范的数据,例如h264,h265,mpeg2,mpeg4等。像素层(Pixel Layer):该层处理的数据为符合特定像素格式规范的数据,例如yuv420p,yuv422p,yuv444p,rgb24等。参考:雷霄骅

YUV模型

YUV是颜色编码方式,Y(明亮度,即灰阶值),U(色度),V(浓度,即饱和度),UV用于指定像素的颜色。彩色电视采用YUV空间是为了用亮度信号Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色电视信号,JPEG/MPEG均采用此格式.如果只有Y,则表示的图像就是黑白灰色图像。

RGB诉求于人眼对色彩的感应,YUV着重于视觉对于亮度的敏感程度。YUV主要用于优化色彩视频信号的传输。YUV相比RGB占用更少的频宽.RGB一个点需要24bit存储,而YUV的 YCbCr 4:1:1 采样格式平均只需要12bit.

YCbCr是YUV经过缩放和偏移的翻版,一般人们所讲 的YUV大多是指YCbCr,YUV中色调和饱和度分别用Cr和Cb表示,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异,Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。

YUV采用格式很多,常用的有YCbCr 4:1:1,即每个点保存一个8bit亮度值,每2*2个点保存一个Cr和Cb值,所以采样后平均一个点仅需要12bits。

YUV420P三个分量分开存储,而RGB24格式的每个向量是连续存储的.

RBG与YUV可相互转换,转换公式如下:

image

BMP图像内部实际上存储的就是RGB数据.

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

推荐阅读更多精彩内容

  • [TOC] 音视频&流媒体 是什么促使我要写这一篇音视频入门文章?那是因为和一妹子打赌码率的概念,结果输了;对一个...
    AllenWu阅读 4,772评论 1 25
  • 前言 说到视频,大家自己脑子里基本都会想起电影、电视剧、在线视频等等,也会想起一些视频格式 AVI、MP4、RMV...
    ForestSen阅读 22,791评论 10 202
  • 教程一:视频截图(Tutorial 01: Making Screencaps) 首先我们需要了解视频文件的一些基...
    90后的思维阅读 4,640评论 0 3
  • 好记性不如烂键盘,持续整理了一下视频里面一些基础的概念。 文件格式 封装格式 视频编解码方式H.26X 系列MPE...
    vedon_fu阅读 2,168评论 0 3
  • 芸芸众生, 在这偌大的世界里, 收获过幸福的欢笑, 享受过成功的喜悦, 品尝过失败的泪水。 每个人都有着自己的保护...
    高苏辛阅读 386评论 0 4