概念: FFmpeg 本身是一个庞大的项目,包含许多组件和库文件,最常用的是它的命令行工具。本文介绍 FFmpeg 命令行如何处理视频,比桌面视频处理软件更简洁高效
FFmpeg 一般调用函数
- 注册组件:av_register_all()
- 打开封装格式->打开文件:av_open_input_file()
3.查找视频流->拿到视频信息:av_find_stream_info()
4.穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO
5.查找对应视频的解码器:avcodec_find_decoder() - 打开解码器:avcodec_open2()
- 为解码帧分配内存:avcodec_alloc_frame()
- 读取视频压缩数据->循环读取 取出每一帧数据:av_read_frame()
- 判断帧的类型,对于视频帧调用:avcodec_decode_video()
- 解码完后,释放解码器:avcodec_close()
- 关闭输入文件:av_close_input_file()