ffmpeg_19559_1

動画編集をするようになってFFmpegが便利なことに気付いたのでコマンドをメモしておく

ちょこちょこ動画編集をしたり、撮影にお付き合いしていると、動画の変換が必要なケースが出て来ます。4Kで撮影したけど編集する人には2Kで渡したい、とかね。
どうやって変換しようか、と思っていたのですが、FFmpegがとても便利に使えることに気づいたのでコマンドなどをメモしておきたいと思います。完全に備忘録です。

というわけで、FFmpegですよ、奥さん。

動画・音声変換にとても便利なソフト、というのは知っていたのですが、今まであまり真剣に使っていませんでした。

最近、動画をこねこねしたり、音楽をこねこねしたりする中で、データのコンバートが必要になるケースが増えてきたので真剣に使い始めました。

いやこれいい!

というわけで、とりあえずコマンドラインで使えるようにメモをしておきます。

FFmpegのインストールについて

インストールについてはいろんなサイトで解説されているのでそちらに・・・・

Win版はこちら

FFmpegのインストール手順と使い方(Windows版) | じゃぶじゃぶげーむ

Mac版はこちら(HomeBrew使ったインストール方法ばかりなのですが、他の方法はないのか・・・)

https://codelab.website/homebrew-ffmpeg/

Linux は調べて下さい。そんなに面倒じゃないと思う・・・

FFmpegでの基本的なコンバートコマンド

とりあえずパスは通ってる状態、というのを前提にします。
基本的なコンバートコマンドは下記です。
コマンドですので、コマンドラインで入力します。
Windowsなら「コマンドプロンプト」や「PowerShell」、Macなら「ターミナル」でしょうか。
更に補足すれば、コンバートしたい動画ファイルがあるフォルダで入力する場合です。もちろんファイル名を指定する際にフォルダ名などを付加すれば他のフォルダのファイルも指定可能です(入力/出力共に)。

ffmpeg -i 入力ファイル名.拡張子 出力ファイル名.拡張子

簡単ですね・・・・
ちなみにこの場合、変換するファイル形式は「拡張子に依存」します。
例えば、movietest.movファイルをmp4ファイルへ変換したい場合は

ffmpeg -i movietest.mov movietest.mp4

で変換できます。簡単!

FFmpegで4Kから2Kへ動画のサイズを変更する

4Kで撮影したけど、マシンスペックが低めで編集すると重いのでとりあえず2Kで編集したい、という場合など、それなりに用途があるんじゃないかと思われるのが 4K > 2K変換。
これもFFmpegなら簡単です。

ffmpeg -i input.mp4 -vf scale=-1:1080 output.mp4

ちなみに”-vf”は動画のコンバートの際に様々な処理を行いたい時に指定します。
今回はサイズの変換をしたかったので”scale=”というコマンドを指定しました。
“scale=” の後はサイズの指定になります。例えば ”1920:1080” と直接サイズを指定することも出来ますが、上記のように “-1:1080” と指定するとアスペクト比(縦横比)をそのまま保った状態で縦を1080にすることができます。

FFmpegで動画から音声だけを抜き出す

FFmpegを使うと、動画から音声のみを抜き出すことが出来ます。
動画から音だけを抜きたいこと、ありますよね。

ffmpeg -i input.mp4 output.mp3

はい、これだけです。
出力ファイルの拡張子を音声の拡張子にするだけです。

但し、この方法だと音声にエンコードがかかってしまうことがあります。
そのままの音声を抜き出したい場合は一度音声のフォーマットを調べましょう。

ffmpeg -i input.mp4
(略)
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
(略)

aac形式ですのでm4a形式で抜き出せばいいようです。
その場合は出力ファイル名の前に “-acodec copy”という文字列を加えます。

ffmpeg -i input.mp4 -acodec copy output.m4a

これで音声データをそのまま抜き出すことが出来ます。

CPUではなく、GPUで処理したい

少しだけ高度なことを。
通常、FFmpegはCPUでコンバートの処理を行います。が、遅い!!重い!!
コンバート中、ヒマだからとブラウザ開くけど重い!

ので、GPU使えないかな、と思って調べてみたら使えました!

例えば mp4 ( h264 ) へのコンバートの場合

ffmpeg -i input.mp4 -vcodec h264_nvenc output.mp4

でGPUでコンバートしてくれます。
今回付けたオプション “-vcodec h264_nvenc” の “_nvenc”部分がハードウェアエンコードに関するコマンドになります。
「ビデオコーデックとして h264のNVencを指定するよ」と。
「NVenc」がNVidiaのハードウェアエンコード機能を使うよ、という意味になります。
ちなみに使用できるエンコードの種類は

ffmpeg -encoders

で一覧表示が可能です。
この中の “_nvenc”が付いた形式であればGPUエンコードが可能です(ただ、それほど多くないと思います。H264/hevc(H265)くらい)。

動画の時代だからこそ活用して欲しい FFmpeg

というわけで、昔から動画をこねこねしてる人にとっては当たり前に使われているFFmpegですが、これからもっと活用されるのかな、と。

上記で紹介したコマンドはほんの一部(私が主に使いそうなものだけ・・・)ですが、他にも静止画を動画にしたり、動画を静止画にしたり、と様々な機能があります。
気になる方は是非検索してみて下さい。

動画データの整理などでも使えると思いますので是非活用してみて下さい。

GUIで行いたければこういうソフトがあります。歴史あるソフトですね。

TMPGEnc Video Mastering Works 7|ダウンロード版

TMPGEnc Video Mastering Works 7|ダウンロード版

12,069円(11/21 10:39時点)
Amazonの情報を掲載しています

Share this post