動画を変換・編集できるソフトウェア ffmpeg について、インストール手順をまとめておきます。
加えて、Anaconda の仮想環境で ffmpeg のパスを設定する手順についてもまとめておきます。
Windows パソコンで機械学習のソフトウェアなどを動かしていて、入力する動画ファイルのフォーマットを変換したいときや、出力された動画ファイルのサイズを圧縮したいときなど、必要になってくると思います。
以下の環境で動作確認をしています。
環境: Windows パソコン(64bits)、Anaconda をインストール済み
背景
Windows パソコン(および、Anaconda などの環境)を使って機械学習の検討をしていると、プログラムの実行時などで動画ファイルを扱う場面が出てきます。
このとき、どのような動画フォーマットであっても自由に変換して扱えるようになっていると、機械学習の学習時、実行時の自由度が広がってとても便利です。
動画フォーマットを変換するオープンソースのソフトウェアとしては、ffmpeg がよく知られています。そこで、 ffmpeg の設定方法についてまとめておきます。
加えて、YOLOv5 や Keras などの機械学習のソフトウェアを使う場合、Anaconda/conda などの仮想環境内で動画が自由に変換できる/扱えるようになっていると、とても便利です。そこで、仮想環境で ffmpeg のパスを設定する手順についてもまとめておきます。
仮想環境(conda)を使うメリット
ffmpeg のように、外部からインストールするプログラムを仮想環境内で設定しておくメリットをまとめておくと以下となります。
標準環境にインストールするソフトウェアを減らすことができる。標準環境の動作を、パソコン購入時の軽い状態としたまま維持できる。
② 仮想環境を意図的にアクティブにしない限り、ソフトウェアの意図しない動作(マルウェア、ウイルスの活動など)を最小化できる。
③ インストール後に使えないことが分かったとき/使わなくなったとき/脆弱性が発覚したとき、仮想環境ごと簡単に削除できる。
使いにくい、ライセンスが変更になった、有償になった、等の理由で別のソフトウェアに乗り換えたいとき、簡単に、完全に、環境を削除/移行できる。
なお、仮想環境を使用する場合(以下のステップ3)は、conda(Anaconda など) のインストールを事前に済ませておいてください。
ffmpeg のインストール手順
ステップ1:ffmpeg をダウンロードする
① ブラウザで以下にアクセスします。
・ https://github.com/BtbN/FFmpeg-Builds/releases
※ ここで、ソースコードからコンパイルするなど、オリジナルのサイトに従って設定したい場合は、以下を参照してください。
・ Download FFmpeg
② PC の環境に応じて、①の zip ファイルをダウンロードします。
64bit の Windows パソコンの場合は、例えば、以下(以降)をダウンロードします。
・ ffmpeg-n4.4-19-g8d172d9409-win64-gpl-shared-4.4.zip
・ 上記の zip ファイル部分にマウスオーバーし、右クリック → 「名前を付けてリンクを保存」を左クリックします。
③ ダウンロードした zip ファイルを展開します。
例:パソコンにダウンロードした zip ファイルを右クリック → 「すべて展開(T)…」を左クリックする。
→ ソフトウェアの入手、展開まで完了です。
ステップ2:ffmpeg を配置する
④ 以下を参考に、③で展開したファイルを設定したい場所に移します。
例:”C:\Program Files” に “ffmpeg” というフォルダを作成します。
”C:\Program Files\ffmpeg” フォルダ内に③で展開したフォルダを移動します。
すると、”C:\Program Files\ffmpeg\ffmpeg-n4.4-19-g8d172d9409-win64-gpl-shared-4.4\bin” (★)というフォルダの中に、ffmpeg.exe 等の実行ファイルが入っている状態になると思います。
→ ffmpeg.exe の配置まで完了
※ フォルダの場所(★)は、他にインストールしている Git などの場所と同様になるようにしています。また、設定にあたっては管理者権限が必要となります。
※ この状態で、プログラムの配置までが完了です。
この後、ffmpeg をコマンドプロンプトから動作させるためには、パスを設定する必要があります。Anaconda Prompt で ffmpeg のパスを設定する手順を以下にまとめておきます。
なお、Anaconda を使っていない場合でも、PATH を設定するコマンドそのものは、Widnows 標準のコマンドプロンプトと同様ですので、以下の set PATH … としたコマンドだけで設定できると思います。
ステップ3:ffmpeg のパスを設定する
つぎに、仮想環境をアクティベートして ffmpeg のパスを設定する手順をまとめておきます。
仮想環境(conda、Anaconda) を使っていない場合は、⑥から⑧はスキップし、⑨、⑩を実行すれば動くと思います。
⑤ Anaconda Prompt (または、コマンドプロンプト)を起動します。
⑥ すでに設定されている仮想環境を確認します。
例: ”conda info -e” と入力し、 [enter] キーを押下します。
※ ここではすでに、”env01″ という仮想環境が作成されているものとします。
⑦ ffmpeg を使う仮想環境をアクティベートします。
例:”conda activate env01″ と入力し、[enter] キーを押下します。
さらに、”conda info -e” と入力し、”env01″ に “*” マークが表示されている(アクティベートとなっている)ことを確認します。
⑧ 確認のため、”ffmpeg” + [enter] を入力します。
→ まだパスが設定されていないので、以下の表示がされると思います。
表示
'ffmpeg' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。
⑨ コマンドプロンプトに以下を入力します。
(フルパス)としたところは上記(★)で ffmpeg.exe が入っているパス(”C:\ … \bin”)を設定してください。
set PATH=%PATH%; (フルパス)
例:
set PATH=%PATH%;C:\Program Files\ffmpeg\ffmpeg-n4.4-19-g8d172d9409-win64-gpl-shared-4.4\bin
⑩ Anaconda Prompt で “ffmpeg” + [enter] と入力します。
→ ”ffmpeg version … Copyright (c) 2020-2021 … ” と表示されたら、設定完了です!
※ Anaconda Prompt または、コマンドプロンプト上で、”ffmpeg -version” + [enter] としても、インストールが正常にできていれば、バージョンを確認できると思います。
動作確認:動画フォーマットを変換してみる
インストールが完了したら動作確認をしましょう。
テスト用の動画ファイル、音声ファイルが必要です。
まず、コマンドプロンプトを起動します。(または、Anaconda Prompt を起動して仮想環境をアクティベートします。)
例えば、mp4 ファイルが入っているフォルダにカレントフォルダを移動し、以下のコマンドを実行すると動画フォーマットを変換できます。
ffmpeg -i (変換前のファイル名:*.mp4) (変換後のファイル名:*.mov)
※ ファイル名に半角スペースを含む場合は、拡張子を含むファイル名全体を ” ” で囲んでください。
まとめ
ffmpeg のインストール方法をまとめました。また、仮想環境でパスを設定する手順をまとめました。
これで、機械学習で動画を活用する際など、動画や音声ファイルの変換も自由自在です!
なお、以下の関連リンクでバッチファイルで一連のコマンドを実行する方法などについてもまとめています。
これらを組み合わせることで、フォルダ内の動画/音声データを一括変換するなど、複雑な処理も可能になります。
関連リンク
・ 動画ファイルから音声データを一括で引き抜く 【Python & ffmpeg】
・ 一括で音量のレベルを変換する【ffmpeg】
・ 動画のダウンロードに関するまとめ
・ バッチファイルで Anaconda から Python を実行する方法 【Windows】
・ Anaconda Prompt コマンド一覧 【仮想環境設定】