没有合适的资源?快使用搜索试试~ 我知道了~
首页ffmpeg概念大全.pdf
ffmpeg概念大全.pdf
需积分: 9 107 浏览量
更新于2023-03-16
评论
收藏 395KB PDF 举报
包括容器,流,帧,编解码,压缩解压缩,复用解复用,转码流程,库概念,截取,合并,转封装,转码,混屏,开发库...
资源详情
资源评论
资源推荐

v 容器(Container)
v 容器就是一种文件(封装)格式,比如 flv、mkv、ts、mp4、rmvb、avi 等。包含下面
5 种流以及文件头信息。
v 流(Stream)
v 是一种视频数据信息的传输方式,5 种流:音频,视频,字幕,附件,数据。
v 帧(Frame) 代表一幅静止的图像,分为 I 帧,P 帧,B 帧。
v 编解码器(Codec)
v 是对视频进行压缩或者解压缩,CODEC =CODE(编码) +DECODE(解码)
v 复用/解复用(mux/demux)
v 把不同的流按照某种容器的规则放入容器,这种行为叫做复用(mux)
把不同的流从某种容器中解析出来,这种行为叫做解复用(demux)
v 码率和帧率是视频文件的最重要的基本特征,对于他们的特有设置会决定视频质量。如
果我们知道码率和时长那么可以很容易计算出输出文件的大小。
v 帧率:帧率也叫帧频率,帧率是视频文件中每一秒的帧数,肉眼想看到连续移动图像至
少需要 15 帧。
v 码率:比特率(也叫码率,数据率)是一个确定整体视频/音频质量的参数,秒为单位处理
的字节数,码率和视频质量成正比,在视频文件中中比特率用 bps 来表达。
转码流程
v FFmpeg 的名称来自 MPEG 视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg
是一套可以用来音视频采集、音视频格式转换,编码解码,视频截图,加水印等的开源计算
机程序。可以轻易地实现多种视频格式之间的相互转换。
v FFmpeg 的用户有 Google,Facebook,Youtube,VLC,优酷,爱奇艺,土豆,Mplayer,
射手播放器,暴风影音,KMPlayer,QQ 影音,格式工厂,狸窝视频转换器,暴风转码等。
v FFmpeg 的开发是基于 Linux 操作系统,但是可以在大多数操作系统中编译和使用。(在
vs2010 中编译不了,因为 vs2010 支持的是 C89(不支持 C99) ,ffmpeg 使用的是 C99,
vs2013/2015 可以编译)
v FFmpeg 一共包含 8 个库:

v 1、avcodec:编解码(最重要的库)。
v 2、avformat:封装格式处理。
v 3、avfilter:滤镜特效处理。
v 4、avdevice:各种设备的输入输出。
v 5、avutil:工具库(大部分库都需要这个库的支持)。
v 6、postproc:后加工。
v 7、swresample:音频采样数据格式转换。
v 8、swscale:视频像素数据格式转换
v FFmpeg 一共包含四个主要程序:
v 1、ffmpeg:是一个命令行工具,用来对视音频文件转换格式,也支持对电视卡实时编
码;
ffmpeg -i input.flv -c:v libx264 -c:a libfaac -b:v 800k -b:a 100k -r
25 -ar 48000 -s 1280x720 -f flv out.flv
v 2、ffsever:是一个 HTTP 多媒体实时广播流服务器,支持时光平移
v 3、ffplay:是一个简单的播放器,使用 ffmpeg 库解析和解码,通过 SDL 显示;
ffplay input.avi
该命令将播放当前文件夹下
的 input.avi 文件
v 4、ffprobe:探测分析视音频文件
ffprobe -i input -print_format json -show_format -show_streams -show_frames
v 官网:
v http://ffmpeg.org/
v http://ffmpeg.org/download.html
v https://ffmpeg.zeranoe.com/builds/
v Linux 下编译很简单 ./configure && make && make install
v Windows 下使用 MinGW 的 gcc toolchain 进行编译,没有 pdb,无法进行调试
v Windows 下可以使用 vs2013/2015 版本编译
v configure 的时候可以指定配置,开启或关闭一些选项,启用外部的编解码库等

./configure --enable-shared --enable-version3 --enable-gpl
--enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-zlib
--enable-libspeex --enable-libx264 --prefix=/usr/lib/buildwin64ffmpeg
学习研究 ffmpeg 推荐在 linux 下,编译调试都方便(试了 vs2015 也不错,有个老外
有个开源工程都集成好了)。
v 可用的 bit 流 :ffmpeg –bsfs
v 可用的编解码器:ffmpeg –codecs
v 可用的解码器:ffmpeg –decoders
v 可用的编码器:ffmpeg –encoders
v 可用的过滤器:ffmpeg –filters
v 可用的视频格式:ffmpeg –formats
v 可用的声道布局:ffmpeg –layouts
v 可用的 license:ffmpeg –L
v 可用的像素格式:ffmpeg –pix_fmts
v 可用的协议:ffmpeg -protocals
v 改变视频的分辨率 -s 1280x720
v 改变视频的帧率 -r 15
v 改变音频的采样率 -ar 44100
v 改变视音频的码率 -b:v 1000k -b:a 80k
v 设置输出格式 -f flv(mpegts/hls/mp4)
v 设置视音频编码格式 -c:v libx264 –c:a libfaac
v 指定视音频不转码 -c copy -c:a copy –c:v copy
v 设置处理开始时间 -ss HH:MM:SS
v 设置处理结束时间 -to HH:MM:SS
v 不要视频或者音频 –vn –an
剩余14页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论0