跳转至

FFmpeg 开发环境## 一、简介使用Qt和SDL在Ubuntu-22.04-LTS上构建FFmpeg开发环境。

2.应用- GNU海湾合作委员会- Qt- [FFmpeg][FFmpeg]- [SDL][SDL] 链接占位符0

3.安装### (0).预安装更新所有存储库。```

sudo apt update && apt upgrade

### (1).依赖关系Ubuntu 22.04.2 LTS 中已解决
关于使用[FFmpeg][FFmpeg]进行视频解码/编码  - x264    - libavcodec58      - libavcodec-extra58    - libavformat58      - libavformat-extra58    - libavutil56    - 库6    - libffms2-5    - libgpac11    - libswscale5    - libx264-163
  - x265    - 库6    - libstdc++6    - libx265-199    - libx265-199
  - libx264-dev    - libx264-163  
  - libx265-dev    - libx265-199  
  - libass-开发    - libass9    - libfontconfig1-dev      - libfontconfig-dev    - libfreetype-dev    - libfribidi-dev    - libharfbuzz-dev
  - libfdk-aac-dev    - libfdk-aac2    - pkg 配置      - 包配置:i386      - 软件包配置文件
  - libfreetype-dev    - 自由类型6    - libbrotli-dev    - libc6-dev    - libc 开发      - libc6-dev    - zlib1g-dev    - libz-dev      - zlib1g-dev
  - libmp3lame-dev    - libmp3lame0  
  - libopus-dev    - 利波普斯0
  - libvorbis-dev    - 利博格开发者    - libvorbis0a    - libvorbisenc2    - libvorbisfile3  
  - libvpx-dev    - 库vpx7

关于使用 [SDL2][SDL] 进行音频解码/编码:  - libsdl2-dev    - libasound2-dev    - libdbus-1-dev    - libdecor-0-dev    - libdrm 开发    - libegl1-mesa-dev    - libgbm 开发    - libgl 开发    - libgles-dev    - libglu1-mesa-dev    - libibus-1.0-dev    - libpulse-dev    - libsdl2-2.0-0    - libsndio-dev    - libudev-dev    - libwayland-dev    - libx11-dev    - libxcursor-dev    - libxext-dev    - libxfixes-dev    - libxi-dev    - libxinerama-dev    - libxkbcommon-dev    - libxrandr-dev    - libxss-dev    - libxt-dev    - libxv-dev    - libxxf86vm-dev    - 库6    - libopengl0    - 库x11-6

关于配置 FFmpeg:  - 亚斯姆    - 库6
使用以下命令安装所有依赖项:```
sudo apt install yasm gcc g++ cmake make \
    x264 x265 libx264-dev libx265-dev \
    libass-dev libfdk-aac-dev libvorbis-dev \
    libfreetype-dev libmp3lame-dev libopus-dev \
     libvpx-dev libsdl2-dev

(2).Qt使用Qt 在线安装程序安装 Qt。

最好使用中科大的镜子安装 Qt 。> 使用命令安装:.\qt-unified-windows-x86-online.exe --mirror https://mirrors.ustc.edu.cn/qtproject> 不要使用sudo命令或用户ROOT安装 Qt。 如果您更喜欢 Qt 在线安装程序,则需要libxcb-xinerama.so.0。要安装此依赖项,请运行以下命令sudo apt install libxcb-xinerama0。 可以从源代码安装 Qt。跟随操作说明,脚本可用这里

(3).FFmpeg从官方网站下载 FFmpeg,使用以下编译命令安装:

wget http://ffmpeg.org/releases/ffmpeg-4.2.9.tar.xz
tar -xvf ffmpeg-4.2.9.tar.xz
cd ffmpeg-4.2.9
sudo ./configure --enable-gpl --enable-libass --enable-libfdk-aac \
    --enable-libfreetype --enable-libmp3lame --enable-libopus \
    --enable-libvorbis --enable-libvpx --enable-libx264 \
    --enable-libx265 --enable-pic --enable-shared  --enable-nonfree \
    --prefix=/usr/local/ffmpeg-4.2.9
make -j8
sudo make install

(4).SDL2SDL2 已随系统一起安装,安装依赖项时安装了标头。

4.环境安装脚本提供一键环境安装脚本:- 安装NV.sh - install_denendency.sh - 安装_ffmpeg.sh - 安装qt.sh

Qt Framework 将通过本地编译安装,并从中科大镜报下载开源代码。> Qt 将安装在路径:/usr/local/qt-5.15.2

5.配置Qt项目- 将 FFmpeg 添加到 .pro 文件中的INCLUDEPATH中。

- 在[FFmpeg](https://ffmpeg.org/)的 .pro 文件中添加动态链接`-lavfilter -lavformat -lavdevice -lavcodec -lpostproc -lswscale -lavutil -lswresample `到`LIBS`;

参考文献[1].https://qt.io

[2].http://mirrors.ustc.edu.cn/help/qtproject.html [3].http://ffmpeg.org [4].https://libsdl.org/ [5].https://blog.csdn.net/a1367666195/article/details/126055594 [6].https://askubuntu.com/questions/1298645/shared-library-not-found-for-pyqt5-libxcb-xinerama-so-0-not-found [7]. 从源安装 Qt [8]. VSCode-C-CPP-环境 [FFmpeg]:https://ffmpeg.org/[SDL]:https://www.libsdl.org/