匿名でメッセージを送れる「マシュマロ」を設置しました。

【FFmpeg】Windows 11へのインストール・環境変数の設定

IT
【PR】本記事のリンクには広告が含まれています。

FFmpegは、動画や音声を編集するためのフリーソフトです。

CUIなので、コマンドによって動画・音声を編集することができます。

本記事では、Windows 11へのFFmpegのインストール方法をご紹介します。

スポンサーリンク

実施環境

■ハードウェア環境

項目情報
OSWindows 11 Home 64bit
CPUAMD Ryzen 9 5900HX
メモリ16.0 GB LPDDR4X-4266
ストレージSSD:512 GB NVMe HFM512GD3JX013N
ASUS Zenbook 14(UM425QA)

スペックの詳細はこちらの記事に書いています。

■ソフトウェア環境

項目備考
FFmpeg公式サイトからダウンロード

FFmpegの導入方法

導入の流れは、以下のようになります。

  • Step 1
    FFmpegのダウンロード
  • Step 2
    環境変数の設定(Pathを通す)

  • Step 3
    インストールできたかの確認

導入については、主にこちらの記事を参考にさせていただきました。

FFmpegのダウンロード

1. FFmpegの公式サイトにアクセスして、「Download」をクリックする。

FFmpegの公式サイト

2. 青色のWindowsマークを選んで、「Windows builds by BtbN」をクリックする[1]

3. 「ffmpeg-master-latest-win64-gpl-shared.zip」をクリックして、ダウンロードする。

GitHubのページに遷移する

4. ダウンロードしたzipファイルを展開する。

「C:\ffmpeg」のフォルダの中

5. Cドライブ直下に「ffmpeg」フォルダを作成し、その中に展開したフォルダの中身を移動させる。

これでFFmpegのダウンロードとファイルの配置は終了です。

環境変数の設定(Pathを通す)

次に、実行ファイル(exeファイル)を配置した場所の環境変数の設定を行う[2]

1. まずWindowsキーを押して「環境変数」と入力し、「システム環境変数の編集」を開く。

2. 「システムのプロパティ」にある「環境編集(N)」をクリック。

3. 「〇〇のユーザー環境変数(U)」にある項目のうち「Path」を選択して、「編集」をクリック[3]

4. 下のような画面が表示される。

4. FFmpegの実行ファイルが置かれているフォルダを探して、パスをコピーする。今回の場合、パスは「C:\ffmpeg\bin」となる。

5. 下のウィンドウの「新規」を押し、コピーしたパスを貼り付けて「OK」を押す。

以上で、環境変数の設定は終了です。

インストールできたかの確認

最後に、FFmpegがきちんとインストールできているかを確認する。

1. Windowsキーを押して「cmd」と入力し、「コマンドプロンプト」を開く。

2. コマンドプロンプトが開けたら、FFmpegのバージョンを確認するコマンドを実行する。

ffmpeg -version
コマンドプロンプトの画面
ffmpeg version N-110014-ga6e9d01f88-20230315 Copyright (c) 2000-2023 the FFmpeg developers

3. 上のように表示されてたらOK。ちなみにコマンドプロンプトを終了するコマンドはexit

メモ

FFmpegのバージョン確認が上手くいかないとき

C:\>ffmpeg -version
'ffmpeg'は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

このような表示が出てバージョンの確認ができない場合は、以下の方法を試してみてください。

  1. 環境変数の設定を見直す(Pathが追加されているか確認する)
  2. コマンドプロンプトを再起動してやり直す

私は1がきちんとできておらず、再設定して2をやったら上手くいきました。

以上で、FFmpegのインストールは完了です。

まとめ

今回は、FFmpegをWindows 11にインストールする方法をご紹介しました。

次の記事では、FFmpegを用いて「動画の結合・変換・圧縮」を行う方法をご紹介しています。

もしお時間があったら、覗いてみてください。

【FFmpeg】動画の結合・変換・圧縮のやり方

注釈

[1] FFmpegのバージョンについて

私は何も考えずにインストールしてしまったのですが、FFmpegはバージョンによって違いがあるそうです。

以下の記事がとても詳しく、分かりやすく解説されていました。

FFmpegのインストールはどのバージョンを選べばいい?
もいっす。もいすちゃんです。 FFmpeg をインストールしようと思ったときに、ダウンロードリンクがたくさんありすぎて、どれを選んでいいか分からない! という方...

個人的に気になっていた「gpl」「lgpl」に関しては、

GPL、LGPL というのは、このようなソフトウェアを利用する際のライセンスの種類で、他にも MPL、BSD、MIT など、さまざまなものがあります。

FFmpegのインストールはどのバージョンを選べばいい? | もいすちゃんぶろぐ

という説明がありました。なるほど、ライセンスの種類のことだったんですね。

ここで、わわわIT用語辞典「GPL【ライセンス】」によると、GPLは「GNU General Public License」の略で、

1.自己責任で好きに使え
2.著作権の表示は消すな
3.複製・改変・再配布・販売等は自由にやれ
4.再配布する物もGPLライセンスにしろ

GPL【ライセンス】とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

というような内容だそうです。こういったライセンスの考え方を「コピーレフト」というらしいです。

また、わわわIT用語辞典「LGPL【ライセンス】」によると、LGPLは「GNU Lesser General Public License」の略で、「GPLライセンスの縛りが少しゆるくなったライセンス形態」のことだそうです。

ちなみに「Lesser」とは、「より小さい、より少ない」という意味で、little の比較級です(参考:大学受験予備校apsアカデミー)。レッサーパンダの「レッサー」は「lesser」と書きますが、英語圏では「red panda」と呼ばれることの方が多いそうです(参考:日刊英語ライフ)。

話を戻すと、上記のGPLの説明には「4.再配布する物もGPLライセンスにしろ」がありましたが、LGPLでは、LGPLライセンスが適用されたモジュールをライブラリとして呼び出すだけの場合は、それを利用するソフトウェアはLGPLライセンスを適用する必要はない、ということのようです。

<本文に戻る>

[2] 環境変数の設定(Pathを通す)とは?

FFmpegの実行ファイルを配置した場所のPathを通す、という操作を行いましたが、そもそも「Pathを通す」とはどういうことなのでしょうか。

以下の記事で、とても分かりやすく解説されていました。

「PATH を通す」の意味をできるだけわかりやすく説明する試み - Qiita
「PATH を通す」の意味をできるだけわかりやすく説明する試みです。 前提知識 Windows ファイル、フォルダ、フルパス、実行ファイルの意味がわかっている ...

「PATH を通す」とは

特定のプログラムを「プログラム名だけで実行できるようにする」こと。

もっと言うと、プログラム名だけで実行できるようにするために、PATH という環境変数(設定の一種)に「このプログラムも名前だけで実行できるようにしてください」という値を追加すること。

「PATH を通す」の意味をできるだけわかりやすく説明する試み – Qiita

たとえば今回の場合は、コマンドプロンプトでFFmpegのバージョンを確認する際に「ffmpeg -version」というコマンドを使用しましたが、Pathが通っていない場合は「FFmpegのバージョン確認が上手くいかないとき」にもあるように、「ffmpeg」というコマンド名が認識されず、エラーが出てしまいます。

実はこれは「ffmpeg.exe」という実行ファイルに対してバージョンを確認しているため、「ffmpeg.exe」の置かれている場所が分からないと、コマンドを実行することができません。

そこで、本来であれば「C:\ffmpeg\bin\ffmpeg.exe」というフルパスを指定して、コマンドを実行すればよいのですが、毎回この長いパスを入力するのは面倒です。

そのため、環境変数のPathに実行ファイルが置かれている場所を登録することで、実行ファイルのプログラム名「ffmpeg.exe」だけでコマンドを実行できるようにします。これが環境変数の設定(Pathを通す)を行う目的です。

ちなみに、上のFFmpegのバージョン確認のコマンドでは「ffmpeg.exe -version」ではなく「ffmpeg -version」だけで実行できていますが、これはPATHEXTという環境変数に「.EXE」が登録されており、コマンド名の拡張子が省略されている場合はそれを補完してファイルを探してくれるため「ffmpeg」だけでも実行できた、ということらしいです。

コマンドプロンプトでpathextを調べると、次のようになりました。

C:\>echo %pathext%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

これらの拡張子は、省略しても補ってくれるみたいです。

<本文に戻る>

[3] ユーザー環境変数とシステム環境変数の違い

環境変数には「ユーザー環境変数」と「システム環境変数」の2種類があり、その両方に「Path」があります。

それらの違いについて、こちらの記事で分かりやすく説明されていました。

システム環境変数とユーザー環境変数の違い
ひよこエンジニア / Python / JavaScript / Blockchain
  • システム環境変数:同じ PC 内で共有されている環境変数
  • ユーザー環境変数:ログインしているユーザーの環境に適用される環境変数
システム環境変数とユーザー環境変数の違い | mktia’s note

つまり、設定した環境変数が適用される範囲が違うみたいです。また、どちらに設定すればよいかについては、次の通りです。

(ソフトウェアによるが)ユーザーのみに適用するのであれば,ユーザー環境変数に設定しておけば良さそうです.

また,どちらにも記述がある場合は原則としてユーザー環境変数が適用されます.(Path 以外)

システム環境変数とユーザー環境変数の違い | mktia’s note

基本的には、ユーザー環境変数への追加で問題なさそうです。

ただし、基本的にユーザー環境変数が優先して適用される中で、Pathだけはシステム環境変数が優先して呼び出されるみたいです。なので、ユーザー環境変数にPathを追加したのに上手くいかないという場合は、この点を踏まえて見直すのがよさそうです。

<本文に戻る>