ffmpeg 入门(一)

1。个人背景:一个在公司一直跟视频流打交道的工程师,但是不负责解码,我主要负责的软件就是将第三方非标准,标准的码流从第三方相机,平台,dvr,nvr等中获取到对应的码流,进行分发或者存储到本地,所以有时还要读硬盘。

2。老是听解码的人说到ffmpeg这个库,自己以前一直想调用下,了解后面程序员做的工作,这次正好有机会记录下这个库的使用,增加自己的理解。


正题:

1.fmpeg类库中有下面几样东西:

(1)Protocol:FFmpeg类库支持的协议-------》rtmp,udp,tcp,ftp,http,https这种

(2)AVFormat:FFmpeg类库支持的封装格式---》wav,avi,mp3,MP4

(3)AVCodec:FFmpeg类库支持的编解码器----》bmp,png,yuv

(4)AVFilter:FFmpeg类库支持的滤镜

(5)Configure:FFmpeg类库的配置信息


2.官方下载:Dev开发包,编译运行会发现还需要下载对应的Shared包。所以从官方下载Dev包和Shared包,Dev里面是include,lib文件,而Shared里面是dll文件


3.做一个基于FFmpeg的转码器。它可以将一种视频格式(包括封装格式和编码格式)转换为另一种另一种视频格式。转码器在视音频编解码处理的程序中,属于一个比较复杂的东西。因为它结合了视频的解码和编码。一个视频播放器,一般只包含解码功能;一个视频编码工具,一般只包含解码功能;而一个视频解码器,则需要先对视频进行解码,然后再对视频进行编码,因而相当于解码器和编码器的结合。下面列举了一个视频的转码流程。输入视频的封装格式是FLV,视频编码标准是H.264,音频编码标准是AAC;输出视频的封装格式是AVI,视频编码标准是MPEG2,音频编码标准是MP3.从流程中可以看护,首先从输入视频中分离出视频码流和音频压缩码流,然后分别将视频码流和音频码流进行解码,获取到非压缩的像素数据/音频采样数据,接着将非压缩的像素数据/音频采样数据重新进行编码,获得重新编码后的视频码流和音频码流,最后将视频码流和音频码流重新封装成一个文件。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章