Windowsがコンパイルおよびインストールされているさまざまな落とし穴を回避するためのFFmpegの詳細な手順をダウンロードする



Windows Is Compiled



Windowsがコンパイルおよびインストールされているさまざまな落とし穴を回避するためのFFmpegの詳細な手順をダウンロードする

Linux / Macでffmpegをコンパイルすると非常に便利です。しかし、Windowsでffmpegをコンパイルするには時間がかかります。しかし、皆さんのご要望に応じて、本日、参考のためにWindownsの下でffmpegをコンパイルする手順を説明します。

画像
Cygwinをインストールすると、WindowsでLinuxを体験できます



Cygwinをインストールする

Windowsの下にffmpegをインストールする最良の方法は、Cygwinを使用することです。 Cygwinとは何ですか?簡単に言えば、LinuxエミュレーターはWindowsにインストールされます。次に、このエミュレーターでWindowsシステムをLinuxモードで操作できます。したがって、CygwinをWindowsにインストールすると、Linuxとして使用できます。 CygwinをWindowsにインストールした後はLinuxのように操作できるので、ffmpegをコンパイルすると非常に便利です。インストールを始めましょう。
1、まず第一に、 Cygwin 公式ウェブサイトダウンロードCygwin実行可能プログラム セットアップ-x86_64.exe 。もちろん、64ビットです。まだ32ビットを使用している場合は、CygwinWebサイトで32ビットバージョンを探してください。
2.2番目のステップでCygwinをインストールします。 Cygwinのインストール操作は非常に簡単で、次のステップ、次のステップです。ただし、インストール中に必要なパッケージをインストールする必要があるという事実に注意する必要があります。主に次のパッケージがあります。

  1. gcc
  2. g ++
  3. 作る
  4. cmake
  5. オートメイク
  6. gdb
  7. nasm
  8. yasm
  9. wget

これらのパッケージをインストールするにはどうすればよいですか?パッケージを選択するためのインターフェースで「フル」オプションを選択するには、インストール可能なすべてのパッケージでそれを選択し、検索ボックスに入力して上記のキーワードを検索します。上記の手順を実行すると、WindowsシステムにCygwinが正常にインストールされているはずです。



apt-cygをインストールします

上記でCygwinをインストールしましたが、それでも非常に不便です。どうして?主な理由は、Cygwinが現在あまりユーザーフレンドリーではないためです。 Cygwinをインストールする場合、インストールするパッケージがないと特に面倒です。解決するためにCygwinを再インストールする必要がありますが、より良い方法はありますか?
あなたが遭遇する困難は他の人が遭遇します。違いは、あなたがそれに耐えるかどうかです。他の人が困難に遭遇した後、問題を解決するのは難しい場合があります。これが人の最大の違いです。言葉は少し遠いです。はい、誰かが私たちがこの問題を解決するのを手伝ってくれました。これはapt-cygと呼ばれる非常に便利なオープンソースツールです。 Ubuntuシステムのaptと同じくらい簡単に使用でき、aptと同じように機能します。それをインストールする方法は?オンラインには多くの方法がありますが、多くは実行可能ではありません。私の方法では、誰もが正常に動作できます。実際には、 apt-cyg スクリプトです。このスクリプトをダウンロードするだけで問題ありません。 apt-cygのダウンロードアドレスは次のとおりです。 Cygwinで次のコマンドを実行できます。
最初の一歩:

wget -c https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg

第二段階

install apt-cyg /bin

このアーティファクトを使用すると、Linuxでいくつかの一般的なコマンドをインストールできます。



ffmpegをコンパイルしてインストールします

apt-cygアーティファクトを使用すると、コンパイルする必要のあるx264およびx265ライブラリなど、Linuxでしかインストールできない一般的なコマンドがいくつかありますが、早すぎないでください。 apt-cygが到達できるソースにコンパイル済みライブラリを配置する人がいないため、それが見つからない理由は非常に単純です。方法がないので、最も原始的な方法である、それ自体をコンパイルするコードも使用する必要があります。ステップバイステップで見ていきましょう。

yasmをコンパイルする

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz tar zxvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure make && make install

fdk-aacをコンパイルします

wget https://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.6.tar.gz tar xvf fdk-aac-0.1.6.tar.gz cd fdk-aac-0.1.6 ./configure make && make install

ffmpegをコンパイルするときに、fdk_aacライブラリでエラーを報告することができます。この時点で、PKG_CONFIG_PATHを設定し、インストールしたライブラリの場所をffmpegで指定する必要があります。上記のライブラリはソースによってインストールされ、デフォルトのアドレスは以下の/ usr / local / libです。もちろん、このディレクトリは./configureの–prefixパラメータで変更できます。デフォルトのパスを使用する場合は、次のコマンドを使用して、コンパイル時にライブラリを見つける場所を指定できます。export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigデフォルトのパスを変更する場合は、次の/ usr / local / lib / pkgconfigを変更したパス/ xxx /.../ lib / pkgconfigに変更します。

ラメをインストールする

wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz tar -xzf lame-3.99.5.tar.gz cd lame-3.99.5 ./configure make && make install

注:ラメが遭遇した問題のコンパイル:
質問1:

Cygwinの下にlameをインストールするときに発生しました./configure失敗の状況。 'error: cannot guess build type you must sepcify one'などの問題は次の手順で解決できます。
インストールautomake。合格できるwhich automake確認するautomakeすでにインストールされていますか?インストールされていない場合は使用できます。apt-cyg install automakeインストールしてください。
automakeの現在のバージョンを確認します。実行可能ファイルautuomake --version現在の自動作成バージョン番号を取得します。
lameディレクトリにありますconfig.guessファイルを/usr/share/automake-version Under config.guessに置き換えますファイル。
この時点で、。/ configureを実行すると、成功します。
質問2:
make 'error: '_O_BINARY' undeclared (first use in this function)'エラーの場合に表示されます。解決策は次のとおりです。
エラーファイルを開くvi ./frontend/lametime.c
次のコードをコメントアウトする

/* #elif defined __CYGWIN setmod(fileno(fp), _O_BINARY) */

次にmakeを実行すると、成功します。

nasmをインストールします

wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz tar xvf nasm-2.13.03.tar.gz cd nasm-2.13.03 ./configure make && make install

x264をインストールします

wget http://mirror.yandex.ru/mirrors/ftp.videolan.org/x264/snapshots/last_x264.tar.bz2 bunzip2 last_x264.tar.bz2 tar -vxf last_x264.tar ./configure --enable-static --enable-shared --disable-asm --disable-avs make && make install

ffmpegをインストールします

Download the code from the ffmpeg official website, the compilation method is as follows: wget -c https://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2 bunzip2 ffmpeg-4.0.2.tar.bz2 cd ffmpeg-4.0.2.tar.bz2 ./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-small --arch=x86_64 --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-filter=delogo --enable-debug --disable-optimizations --enable-shared make && make install

バージョンを表示

ffmpeg.exeのパスを環境変数として設定し、cmdウィンドウを開いてffmpeg-versionを実行します。例外はライブラリによって報告されない場合があります。次に、対応するライブラリをusr local ffmpeg binディレクトリにコピーします。例:cygfdk-aac-1.dll、libx264-157.dll。次に、実行したいコマンドを実行できます。

概要

上記の手順により、ウィンドウから実行できるffmpegを正常にコンパイルできます。 ffmpegは高度にカスタマイズ可能であることに注意してください。必要に応じて異なるコーデックをサポートするffmpegライブラリをコンパイルできますが、方法は同じです。 (この文が本当に理解できるかどうかわかりませんか?)一般的な考え方は、ffmpegにはライブラリがないということです。対応するライブラリのソースコードをダウンロードして、コンパイルします。次に、ffmpegの対応する構成オプションを増やし、ffmpegを再コンパイルします。上記の知識があれば、x265をサポートするffmpegをコンパイルすることもできますよね?嫉妬しないと言わないで!

コンパイルプロセスの何が問題になっているのかを以下に残しておくことができます。