01FFmpeg概述与功能
FFmpeg,这套开源计算机程序,功能全面,既能录制、转换数字音频和视频,又能将其转化为流媒体。它采用LGPL或GPL许可证,为音视频处理提供了从录制、转换到流化的全方位解决方案。FFmpeg是一个功能全面的开源音频和视频处理工具,支持录制、转换和流化操作,其核心是先进的libavcodec编解码库。此外,FFmpeg还包含其他多个组件,如libavformat用于音视频封装格式的处理,libavutil提供公共工具函数,libswscale负责视频场景比例缩放和色彩映射转换,而libpostproc则用于后期效果处理。同时,该项目还提供了多个实用工具,如ffmpeg可用于格式转换、解码等,ffserver是一个HTTP多媒体即时广播串流服务器,ffplay则是一个简单的播放器,通过ffmpeg库解析和解码音视频并通过SDL显示。接下来,我们将深入探讨如何使用这些强大的工具。

除了libavcodec,FFmpeg还包含处理封装格式的libavformat、提供工具函数的libavutil、视频缩放的libswscale,以及用于后期效果的libpostproc,实用工具如ffmpeg、ffserver和ffplay。
02获取与安装FFmpeg
> 下载与解压
你可以从FFmpeg的官方网站下载。在开始使用FFmpeg之前,你需要从其官方网站下载。从官方网站下载FFmpeg后,需注意了解其解压后的目录结构,以便在系统中进行有效地管理和使用。

> Windows版本构建
在下载FFmpeg时,一个特别值得推荐的来源是BtbN提供的Windows版本构建。这些构建经过优化,特别适合在Windows操作系统上运行,且提供了丰富的功能。建议使用经过优化的BtbN Windows版本构建,以便在Windows上更流畅地进行音视频处理。通过这些构建,你可以轻松地在Windows上享受FFmpeg带来的音视频处理体验。
> 推荐下载链接与目录说明
若你想获取BtbN提供的Windows版本构建,可以尝试下载以下链接中的文件:
ffmpeg-master-latest-win64-gpl-shared.zip
此文件为FFmpeg的Windows版本构建,经过优化以适应Windows操作系统,并提供了全面的功能。通过它,你能够在Windows上顺畅地享受FFmpeg带来的音视频处理服务。提供详细文件结构说明,确保在解压后妥善保存文件如bin、doc、include、lib等,为后续开发和使用奠定基础。

03创建开发环境
> 新建项目目录
创建一个名为helloffmpeg的新目录,并在该目录下再新建一个名为ffmpeg的子目录。接着,将解压得到的include和lib目录复制到这个ffmpeg目录中。创建helloffmpeg和ffmpeg目录,将必要的include和lib文件复制到该目录中以便开发使用。

> 配置开发工具
使用Visual Studio Code(简称VS Code)打开该ffmpeg目录。使用Visual Studio Code进行项目配置,手动编辑CMakeLists.txt,并确认编译器路径和头文件路径正确,以确保顺利编译。

新建main.c和CMakeLists.txt文件,并分别输入以下代码:
main.c
```c
includelibavcodec/avcodec.h>
int main(int argc, char argv) {
printf("Hello FFmpeg!
");
unsigned codecVersion = avcodec_version();
printf("Version is: %d", codecVersion);
return 0;
```
CMakeLists.txt
```cmake
cmake_minimum_required(VERSION 3.25)
project(helloffmpeg VERSION 1.0.0 LANGUAGES C)
include_directories(ffmpeg/include)
link_directories(ffmpeg/lib)
set(SOURCE_DIR main.c)
add_executable(helloffmpeg ${SOURCE_DIR})
target_link_libraries(helloffmpeg avcodec avutil swresample)
```
完成CMakeLists.txt文件的编写后,若未立即生效,可能需要手动配置或重启Visual Studio Code。手动配置的方法是打开命令面板(Command Palette)。
> 编译与运行
在配置完项目后,通过点击Build按钮进行编译,并在终端窗口中启动目标进行测试运行。

点击Build按钮进行编译。

开始编译。

在终端窗口中启动选定目标。

> 解决运行时错误
遇到报错时,通过复制必要的动态链接库文件到build目录,解决缺少组件的问题,确保顺利运行ffmpeg.exe。若在尝试直接运行ffmpeg.exe时遇到报错,这通常表明缺少必要的动态链接库。此时,您可以将之前解压的ffmpeg/bin目录中的相应文件复制到build目录下,以确保所有必要的组件都已到位。接着,您需要双击运行helloffmpeg.exe。这样,您应该能够成功使用ffmpeg,而不会再遇到之前的报错问题。至此,已顺利将FFmpeg库引入至项目中。
