温馨提示×

c++音视频开发FFmpeg介绍与基础知识理解

发布时间:2020-06-21 02:59:30 来源:51CTO 阅读:487 作者:wx5dbfe368dd9c2 栏目:编程语言

FFmpeg简介
FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast

Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换

FFmpeg的用户有Google,Facebook,Youtube,优酷,爱奇艺,土豆等

基础知识
容器/文件(Conainer/File):即特定格式的多媒体文件,比如mp4、flv、mkv等。

媒体流(Stream):表示时间轴上的一段连续数据,如一段声音数据、一段视频数据或一段字幕数据,可以是压缩的,也可以是非压缩的,压缩的数据需要关联特定的编解码器。

数据帧/数据包(Frame/Packet):通常,一个媒体流是由大量的数据帧组成的,对于压缩数据,帧对应着编解码器的最小处理单元,分属于不同媒体流的数据帧交错存储于容器之中。

一般情况下:

Frame对应压缩前的数据,Packet对应压缩后的数据。

编解码器(Codec):以帧为单位实现压缩数据和原始数据之间的相互转换的

复用(mux):把不同的流按照某种容器的规则放入容器,这种行为叫做复用(mux)

解复用(mux):把不同的流从某种容器中解析出来,这种行为叫做解复用(demux)

基础知识-解复用器
复用(mux):把不同的流按照某种容器的规则放入容器,这种行为叫做复用(mux)

复用器muxer比如MP4/FLV!c++音视频开发FFmpeg介绍与基础知识理解

解复用(mux):把不同的流从某种容器中解析出来,这种行为叫做解复用(demux)

解复用器demuxerMP4/FLVc++音视频开发FFmpeg介绍与基础知识理解
基础知识-编解码器codec
编解码器(Codec):以帧为单位实现压缩数据和原始数据之间的相互转换的
视频编解码器 c++音视频开发FFmpeg介绍与基础知识理解
音频编解码器c++音视频开发FFmpeg介绍与基础知识理解
基础知识-码率和帧率
码率和帧率是视频文件的最重要的基本特征,对于他们的特有设置会决定视频质量。如果我们知道码率和时长那么可以很容易计算出输出文件的大小。

帧率:帧率也叫帧频率,帧率是视频文件中每一秒的帧数,肉眼想看到连续移动图像至少需要15帧。

码率:比特率(也叫码率,数据率)是一个确定整体视频/音频质量的参数,秒为单位处理的位数,码率和视频质量成正比,在视频文件中中比特率用bps来表达。

附:音视频入门到提高技术教程c++音视频开发FFmpeg介绍与基础知识理解
~
教程主要涉及知识点:
1.FFmpeg的转码流程是什么?

2.常见的视频格式包含哪些内容吗?

3.如何把这些内容从视频文件中抽取出来?

4.如何从一种格式转换为另一种格式?

5.如何放大和缩小视频?

6.如何旋转,翻转,填充,裁剪,模糊,锐化视频?

7.如何给视频加logo,删除logo?

8.如何给视频加文本,动态文本?

9.如何处理图片?

10.如何录像,添加动态logo,截图,马赛克视频?

总结:在IT行业,只有不断学才能跟上时代,5g来了,音视频这个趋势希望你能抓住。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

免费拨打  400 100 2938 免费拨打 400 100 2938
24小时售后技术支持 24小时售后技术支持
返回顶部 返回顶部