您的位置:首页 > 新闻 > 资讯 > 免费外链工具_社交电商app_网站友链查询源码_公司软文怎么写

免费外链工具_社交电商app_网站友链查询源码_公司软文怎么写

2025/3/16 4:42:56 来源:https://blog.csdn.net/qq_45593575/article/details/146166112  浏览:    关键词:免费外链工具_社交电商app_网站友链查询源码_公司软文怎么写
免费外链工具_社交电商app_网站友链查询源码_公司软文怎么写

【音视频开发】第二章 FFmpeg 开发环境

文章目录

  • 【音视频开发】第二章 FFmpeg 开发环境
  • 一、Window 安装开发环境
    • 1.FFmpeg 命令行环境搭建
    • 2.Visual Studio 和 Qt 安装
    • 3.CDB 调试器安装
    • 4.Windows 编译 FFmpeg
    • 5.编译第三方库
    • 6.Qt 使用 MSVC 调用编译好的 ffmpeg 库

一、Window 安装开发环境

1.FFmpeg 命令行环境搭建

FFMPEG 官网:ffmpeg.org

下载以下文件:
源码:ffmpeg-x.x.x.tar.bz2
Shared:ffmpeg-x.x.x-winxx-shared.zip(包含 FFMPEG 的 dll 库文件)
Static:ffmpeg-x.x.x-winxx-static.zip(包含了 FFMPEG 的官方文档)
Dev:ffmpeg-x.x.x-winxx-dev.zip(包含 FFMPEG 的 lib 文件/头文件,以及 example 范例)

拷贝可执行文件到 C://Windows
在这里插入图片描述

  • ffmpeg转码
  • ffplay播放器
  • ffprobe分析码流成分

拷⻉动态链接库到C:\Windows\SysWOW64
在这里插入图片描述

输⼊ffmpeg -version测试
在这里插入图片描述

  • configuration表示开启/关闭了哪些配置

2.Visual Studio 和 Qt 安装

Qt 下载地址:download.qt.io/archive/online_installers
在这里插入图片描述
这里下载的是 Qt 的在线安装程序
选择 Qt 版本时,需要注意 Visual Studio 和 Qt 的版本是否兼容

配置 Visual Studio 环境变量
D:\Program Files\VisualStudio\VC\Tools\MSVC\14.43.34808\bin\Hostx64\x64
在这里插入图片描述

3.CDB 调试器安装

MSVC 编译器使用 windbg 下的 cdb 调试器,所以需要安装 windbg
https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools

在这里插入图片描述

4.Windows 编译 FFmpeg

安装 MSYS2
MSYS2(Minimal System 2)是一个开源的软件发行环境和软件包管理器,主要用于在 Windows 上提供类似于 Unix/Linux 的开发体验。它是基于 Cygwin、MSYS(Minimal SYStem)和 MinGW-w64 项目的改进和扩展。MSYS2 提供了一个类 Unix 环境,以及支持 Windows 原生应用程序构建的工具链。

下载地址:www.msys2.org

在这里插入图片描述
在这里插入图片描述
安装完成之后,先把安装目录下 msys2_shell.cmd 中的

rem set MYS2_PATH_TYPE=inherit

改成

set MYS2_PATH_TYPE=inherit

这是为了将 VS 的环境继承给 MSYS2

MSYS2 可以选择 msys 或者 MinGW -w64 环境来编译,不过在 msys 下使用 gcc 编译出来的 exe 和 dll 依赖 msys-2.0.dll,而 MinGW -w64 下编译出来的文件不需要依赖这个 dll,从程序的运行效率来看,不依赖这个 dll 的程序的效率更高,所以选择 MinGW -w64 来编译更佳。

修改 pacman 的源
pacman 是一个软件包管理器,用来在 MSYS2 中安装软件,但是默认的国外源,下载安装包时非常慢,所以需要修改为国内源,可以选择中科大的源

在这里插入图片描述
编辑 /etc/pacman.d/mirrorlist.mingw32,在文件开头添加

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/

编辑 /etc/pacman.d/mirrorlist.mingw64,在文件开头添加

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/

编辑 /etc/pacman.d/mirrorlist.msys,在文件开头添加

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/

Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/

在 MSYS2 安装目录下输入以下命令,分别打开 64 位和 32 位的 shell
在这里插入图片描述

然后在 msys2 的 shell 中执行

pacman -Sy

在这里插入图片描述
刷新软件包数据

安装编译环境
安装 mingw-w64
打开 MSYS2 MinGW64,在 shell 窗口中输入:

pacman -S mingw-w64-x86_64-toolchain

输入回车默认全部安装

安装 git

pacman -S git

安装 make 等工具

pacman -S make
pacman -S automake
pacman -S autoconf
pacman -S perl
pacman -S libtool
pacman -S mingw-w64-i686-cmake
pacman -S pkg-config

如果需要编译出 ffplayer,还需要安装 SDL

pacman -S mingw-w64-x86_64-SDL2

重命名 link.exe
重命名 msys64/usr/bin/link.exe 为 msys64/usr.bin/link.bak,避免和 MSVC 的 link.exe 冲突

安装 YASM

pacman -S nasm
pacman -S yasm

检查编译环境

which cl link yasm cpp

看返回结果,没有 no 的结果一般就没问题

修改支持中文显示
窗口右键 -> Options -> Text,然后 locale 选择:zh_CN,Character set 选择 UTF-8
在这里插入图片描述

5.编译第三方库

下载和编译 x264

www.videolan.org/developers/x264.html

在这里插入图片描述
解压到此处
在这里插入图片描述
进入 x264 目录

./configure --prefix=/home/${userName}/ffmpeg/build/libx264 --host=x86_64-w64-mingw32 --enable-shared --enable-static --extra-ldflags=-Wl,–output-def=libx264.def
make
make install

生成 libx264.lib
上面编译出来的结果没有包含 lib 文件,需要自己手动生成

cp ./libx264.def /home/${username}/ffmpeg/build/libx264/lib
cd /home/${username}/ffmpeg/build/libx264/lib
lib /machine:X64 /def:libx264.def

如果想在程序中直接使用 x264,将 include 中的 .h 头文件、libx264.lib 和 libx264-165.dll 复制到项目中对应位置,并且在程序中添加头文件

下载和编译 fdk-aac
https://sourceforge.net/projects/opencore-amr/files/fdk-aac

./autogen.sh
./configure --prefix=/home/${username}/ffmpeg/build/libfdk-aac --enable-static --enable-shared
make
make install

下载和编译 mp3
https://sourceforge.net/projects/lame

./configure --prefix=/home/${username}/ffmpeg/build/libmp3lame --disable-shared --disable-frontend --enable-static
make
make install

下载和编译 libvpx
https://github.com/webmproject/libvpx

./configure --prefix=/home/${username}/ffmpeg/build/libvpx --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
make
make install

下载和编译 ffmpeg
https://gitee.com/mirrors/ffmpeg

./configure --prefix=/home/${username}/ffmpeg/build/ffmpeg --arch=x86_64 --enable-shared --enable-gpl --enable-libfdk-aac --enable-nonfree --enable-libvpx --enable-libx264 --enable-libmp3lame --extra-cflags=“-I/home/${username}/ffmpeg/build/libfdk-aac/include” --extra-ldflags=“-L/home/${username}/ffmpeg/build/libfdk-aac/lib” --extra-cflags=“-I/home/${username}/ffmpeg/build/libvpx/include” --extra-ldflags=“-L/home/${username}/ffmpeg/build/libvpx/lib” --extra-cflags=“-I/home/${username}/ffmpeg/build/libx264/include” --extra-ldflags=“-L/home/${username}/ffmpeg/build/libx264/lib” --extra-cflags=“-I/home/${username}/ffmpeg/build/libmp3lame/include” --extra-ldflags=“-L/home/${username}/ffmpeg/build/libmp3lame/lib”
make
make install

!注意 pkg-config

6.Qt 使用 MSVC 调用编译好的 ffmpeg 库

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com