窓はFFmepg下msys2コンパイルのソースコードを使用します

I.はじめに

    開発者の観点では、オーディオとビデオ関連産業については、多くの場合、手動でFFmpegのソースコードをコンパイルする必要があります。FFmpegの公式ウェブサイトは、実行可能ファイル(ffmpeg.exe)を提供するためにコンパイルされているが、これは、実行可能ファイルは、特定の機能を(キャプションはのDrawTextなど)が含まれていない場合が多いですが、これらの特別な機能を有効にするために、我々は手動でする必要がありますFFmpegのコンパイルソースコード、その機能のカスタマイズを実現するためです。多くのオンラインチュートリアルやFFmpegのコンパイルmingwのmingwのプラスMSYSを使用しますが、mingwのインストール失敗の問題につながるインストールプロセスをダウンロードすることができないがあるかもしれません。この記事では、インストールmingwのを必要としないコンパイルffmpegのmsys2ソース方式の使用を記載しています。msys2は、Windows上でシミュレーションソフトウェア環境Linuxは、あなたが、それはユーザーがWindows上でシェルを使用することができるように、ある程度の仮想マシンを置き換えることができますmsys2上のシェルのほとんどを使用することができます。

 

第二に、ダウンロードしてインストールしmsys2

まずhttp://msys2.github.io/の  ダウンロードmsys2。URLを入力した後、次のページを見ることができます:

ここでブロガーコンピュータがwin10,64ビットオペレーティングシステムであるため、そのmsys2-x86_64-20190524.exeを選択してください。インストール後にダウンロードをダブルクリックします。それは我々がmsys2をインストールした後に、より多くのソフトウェアの内部に設置、msys2がますます大きくなり、コンピュータ内のスペースを占有しているように、内側に追加のソフトウェアをインストールすることであるので、ここでブロガーは、Dドライブにインストールされ、そうではありませんCドライブ(システムディスク)にインストール推奨。

 

インストールプロセスでは、我々は、以下に示すように、その進捗状況は、その後、ここに示す「非表示の詳細は、」「信頼データベースの更新」、続けることができ、途中で立ち往生されているだろう見つけることがあります。この問題に直面したとき、私たちは、「キャンセル」ボタンをクリックすることができ、それを再インストールしてください。

 

インストールが完了したら、我々はインストールディレクトリを入力して、オープンmsys2_shell.cmd

在弹出的窗口上右击, 选择Options,按照如下设置更改字符集,如下图所示,否则可能会出现中文乱码的问题。更改完成后,点击“Save按钮”,这里要注意更改完成后得要重新启动msys2_shell.cmd,设置才能生效。

 

三、在msys2中安装软件

重启msys2_shell.cmd后,我们在弹出的窗口中执行命令:

pacman -S make yasm diffutils pkg-config

 

然后可能会出现错误如下图所示:“错误:无法从 XXX: Operation too slow. Less than 1 bytes/sec......”

遇到这种情况,我们只要按照博文《MSYS2 更新源》或者《MSYS2更换国内源》里面写的那样,更新一下源,再重新执行上述安装软件的命令,就可以了。

 

然后我们执行下面的命令查看安装了哪些gcc:

pacman -Sl | grep "gcc"

 

可以看到mingw-w64-i686-gcc和mingw-w64-x86_64-gcc没有安装。

 

如果没安装,我们就执行下面的命令安装:

pacman -S mingw-w64-i686-gcc 
pacman -S mingw-w64-x86_64-gcc 

 

如果还是报错:“错误:无法从 XXX: Operation too slow. Less than 1 bytes/sec......”,我们只要再重新执行上述命令安装就可以了。在每一次重新安装gcc的过程中,下图所示的“下载大小”的值都会变小,所以我们在安装gcc失败后,多次重复安装,让“下载大小”的值越来越小,最终我们就能成功安装的。

 

安装完gcc后,我们再次执行命令:pacman -Sl | grep "gcc",可以看到mingw-w64-i686-gcc和mingw-w64-x86_64-gcc都安装了。

 

四、下载FFmpeg源码

我们进入FFmpeg官网http://ffmpeg.org/download.html#releases,下载最新版本的FFmpeg源码(FFmpeg4.2.2)。

 

在msys2的安装目录下新建一个文件夹“SourceCode”,将下载下来的FFmpeg源码解压,放到该文件夹下,如下图所示:

 

五、编译FFmpeg源码(编译出32位库)

通过命令提示符进入msys2的安装目录即msys64下, 执行命令

msys2_shell.cmd -mingw32

 

在启动的窗口中执行命令:cd /SourceCode/ffmpeg-4.2.2,进入msys2中ffmpeg源码的目录,如下图所示:

 

可以看到ffmpeg-4.2.2的目录下有一个configure文件,执行configure命令生成Makefile:

./configure --enable-shared --enable-decoder=h264 --enable-parser=h264 --arch=x86_32 --prefix=/usr/local/ffmpeg

注:上述命令不唯一,可以根据自己的需要设置其它选项。

 

然后按顺序执行

make
make install

 

执行完后会在msys64/usr/local目录下生成ffmpeg目录,生成的库和可执行文件就在msys64/usr/local/ffmpeg/bin目录下,如下图所示:

 

由于用msys2生成的库有依赖,比如生成的32位库依赖于msys64\mingw32\bin下的dll库,所以我们将msys64\mingw32\bin下的所有dll都拷贝到msys64\usr\local\ffmpeg\bin下。

 

六、参考文章

【FFMPEG系列】之windows下编译FFMPEG篇----之二(MSYS2)

发布了54 篇原创文章 · 获赞 55 · 访问量 12万+

おすすめ

転載: blog.csdn.net/u014552102/article/details/104400885