まぁじです。最初はpydupを使って変換しようと思ってたんですが、どうやらffmpegのラッパーらしいのでこちらをつかうことにしました。これはその備忘録です。
やること
パスを通す
ファイルの詳細を見る
mp3ファイル→wavファイルへの変換
wavファイル→mp3ファイルへの変換
動画を複数枚の画像に変換
複数枚の画像を動画に変換
動画ファイルのオプション変更
ffmpegをWindowsにインストール
ffmpegはCUIで操作し、動画・音声を変換したり再生したりできるフリーソフトウェアです。
ここではWindowsのインストール方法だけ説明します(Linux/MacOS/Windowsすべて動くらしいです)。
ffmpeg公式サイトのダウンロードページにアクセスし、Windowsマークにカーソルを合わせると"Windows builds from gyan.dev"が出るのでクリックします。
ビルドページに飛ぶので、スクロールしてreleaseの"~/ffmpeg-release-essentials.zip"をクリックするとダウンロードが始まります。
ちなみにessentialsよりfullの方が使えるライブラリが多いらしいですが、Windows標準で解凍できる圧縮ファイルがessentials.zipしかないのでダウンロードしてます。
fullをダウンロードしたいなら7-zipとかLHazのような解凍ソフトを窓の杜からインストールするといいと思います。
※2021/1/3現在です。今は変化している可能性があります。
パスを通す
私の場合は\ffmpeg-4.3.1-2021-01-01-essentials_build\bin
にあったのでこれを追加しました。
起動できるか確認
コマンドプロンプトを起動し、ffmpegと入力してバージョン等が出れば成功です。
$ ffmpeg ffmpeg version 4.3.1-2021-01-01-essentials_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers built with gcc 10.2.0 (Rev5, Built by MSYS2 project) ~~~~~~~~~~~~~~略~~~~~~~~~~~~~~
ファイルの詳細を見る
動画・画像ファイルを用意しffmpeg -i <filename>
で詳細を表示します。
$ ffmpeg -i sample.MP4
ffprobe -i <filename>
の方が怒られません。
$ ffprobe -i sample.MP4
mp3ファイル→wavファイルへの変換
用意した"sound1.mp3"をwavファイルに変換してみます。
ffmpeg -i <inputfile>.mp3 <outputfile>.wav
でファイルを変換して出力できます。
$ ffmpeg -i sound1.mp3 sound1.wav
wavファイル→mp3ファイルへの変換
用意した"sound2.wav"をmp3ファイルに変換してみます。
上の逆で、ffmpeg -i <inputfile>.mp3 <outputfile>.wav
でファイルを変換して出力できます。
$ ffmpeg -i sound1.mp3 sound1.wav
動画を複数枚の画像に変換
ffmpeg -i <inputfile>.mp4 <outputfile>.jpg
でフレームレート×秒数[枚]の画像ファイルが生成されます。
ただし、出力ファイルはそのままだと重複してしまうので、%03d
として番号を振れます。(3桁で0埋め)
$ ffmpeg -i sample.mp4 sample%03d.jpg
また、オプションで1秒あたりの枚数(フレームレート)を変更することも可能です。
$ ffmpeg -i sample.mp4 -r 10 sample%03d.jpg
複数枚の画像を動画に変換
ffmpeg -i <inputfile>.jpg <outputfile>.mp4
で動画ファイルが生成されます。
連番画像であれば動画にすることが可能なようですが、通常の(連番でない)画像における方法は不明です。
$ ffmpeg -i sample%03d.jpg sample.mp4
動画→画像の変換のようにフレームレートの設定や、コーデックの設定、macOSで開けるようにするなどができます。
$ ffmpeg -r 60 -i sample%03d.jpg -vcodec libx264 sample.mp4 $ ffmpeg -i sample%03d.jpg -pix_fmt yuv420p sample.mp4
あとがき
紹介した方法のほかにもGIFファイルへの変換やサイズ変更などかなり豊富にオプションが存在するのでいろいろとみてみることをお勧めします。