FFmpeg菜鸡互啄#第1篇#一些基本概念

播放一个视频文件的流程

封装格式

视频流和音频流按照一定的格式存储在一个文件中。常见的封装格式有mp4、flv、avi、mkv…

视频编码

将视频像素数据(RGB, YUV等)压缩编码成视频流,从而降低视频的数据量。一般使用H.264的情况会比较多,可以将图像数据压缩100倍以上。

音频编码

将音频采样数据(PCM等)压缩为音频流,从而降低音频的数据量。一般使用AAC的情况会比较多,可以将音频数据压缩10倍以上。

视频像素数据

保存了屏幕上每个像素点的像素值。常见的像素数据格式有RGB24、RGB32、YUV420P、YUV422P、YUV444P等。压缩编码中一般使用的是YUV格式的像素数据, 最为常见的格式为YUV420P。视频像素数据体积很大,一般情况下1小时高清视频的RGB24格式的数据体积为:

3600*25*1920*1080*3=559.9GByte

PS:这里假定帧率为25Hz,取样精度8bit。

音频采样数据

保存了音频中每个采样点的值。音频采样数据体积很大,一般情况下一首4分钟的PCM格式的歌曲体积为:

4*60*44100*2*2=42.3MByte

PS:这里假定采样率为44100Hz,采样精度为16bit。

最后

使用FFmpeg对媒体文件解码之后,大多数情况会直接得到YUV和PCM数据,再把数据利用SDL等媒体库就可以直接播放(其实像VLC这样的FFmpeg的儿子可以直接使用其接口播放媒体文件)。总的来说,我们一开始学习FFmpeg的时候可以先不深入研究各种封装格式、编码格式和数据格式。研究那些的时候应该就不是菜鸟了吧~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Duncan's Blog

Personalized Search论文阅读笔记

论文中首先总结了之前的工作中对用户和资源的profile构建的方法,用户和资源的profile的tag的权重计算方法有TF、TF-IDF、BM25,以及用户兴趣...

11530
来自专栏机器之心

教程 | 盯住梅西:TensorFlow目标检测实战

选自Medium 作者:Nicolas Bortolotti 机器之心编译 参与:黄小天、路雪 近日,一篇题为《Following Messi with Ten...

42170
来自专栏新智元

第一个手机端分布式深度学习系统,设计自动化顶会 DATE 最佳论文

【新智元导读】欧洲最大的设计自动化会议 DATE 昨天在瑞士洛桑召开。杜克大学陈怡然教授组关于移动平台深度学习计算的研究荣获嵌入式软件类最佳论文。陈怡然等人提出...

50780
来自专栏量子位

AI框架之战继续:TensorFlow也用上了动态计算图

量子位 李林 | 见到“动态”有点激动 Google今天发布了TensorFlow Fold,利用动态计算图来解决因多个输入大小结构不同无法自然地批处理到一起,...

30270
来自专栏AI科技大本营的专栏

我们从250个机器学习开源项目中挑出了Top 10,Github平均star979

在过去一个月中, Mybridge 从 250 个机器学习开源项目中挑选出了 Top 10。Mybridge AI 比较了这期间发布的新项目和重大项目,然后依据...

10430
来自专栏新智元

【干货】7月机器学习Top 10,GitHub平均1041星!

【新智元导读】本月的最热机器学习项目出来了!Mybridge对过去一个月的近250个机器学习开源项目进行了排名,甄选出GitHub星数最多的10大热门项目。开源...

8210
来自专栏深度学习之tensorflow实战篇

协同过滤算法概述与python 实现协同过滤算法基于内容(usr-item,item-item)

协调过滤推荐概述   协同过滤(Collaborative Filtering)作为推荐算法中最经典的类型,包括在线的协同和离线的过滤两部分。所谓在线协同,...

93240
来自专栏机器之心

评测 | 云CPU上的TensorFlow基准测试:优于云GPU的深度学习

选自Minimaxir 作者:Max Woolf 机器之心编译 参与:乾树、李泽南 越来越多的开发者正在使用云服务来训练和运行模型,然而目前看来这种做法的成本...

49760
来自专栏量子位

最强NLP模型BERT喜迎PyTorch版!谷歌官方推荐,也会支持中文

谷歌的最强NLP模型BERT发布以来,一直非常受关注,上周开源的官方TensorFlow实现在GitHub上已经收获了近6000星。

40430
来自专栏量子位

Caffe2推出强化学习库,包含多个基于Caffe2的RL实现

安妮 编译自 Caffe2.ai 量子位 出品 | 公众号 QbitAI 今年4月,Facebook正式发布了轻量化和模块化的深度学习框架Caffe2。将近5个...

37570

扫码关注云+社区

领取腾讯云代金券