一、前言
ffmpeg是强大的视频支持库,功能上划分为媒体格式(libavformat,多媒体文件的读包和写包)、编解码(libavcodec,音视频的编解码)、核心工具(libutils,公用的功能函数)、设备(libavdevice,管理音视频设备的操作)和后处理(libavfilter, libswscale, libpostproc,音视频后处理),参考:FFMPEG详解(完整版)_davidullua的博客-CSDN博客_ffmpeg
PyAV提供ffmpeg的python接口,是使用Cython封装了ffmpeg的接口,实际调用的是ffmpeg:
容器格式 V.S. 编解码格式
容器格式(container: avi,mp4,wmv,mpeg\mpg)
编解码格式(codec: mpeg4、h263、h264、h265)
参考:
多媒体container和codec概念_lelexin的博客-CSDN博客
更深入的了解可以参见博客:FFMPEG零基础入门_class_brick的博客-CSDN博客_ffmpeg入门
二、FFmpeg简介
“A complete, cross-platform solution to record, convert and stream audio and video.” 可以实现视频和音频的转码、裁剪、合并等。
安装:
sudo apt-get install ffmpeg
如下依赖项自动安装:
The following additional packages will be installed:
libavdevice-ffmpeg56 libavfilter-ffmpeg5 libbs2b0 libflite1 libopenal-data
libopenal1 libsodium18 libvdpau1 libzmq5 mesa-vdpau-drivers vdpau-driver-all
Suggested packages:
ffmpeg-doc libvdpau-va-gl1