マウス操作よりコマンドラインで操作の方が簡単
と思う。
分割や変換できるソフトをインストールして使うと
使い方はマウス操作だから変化を見ながら操作する
ヘルプを見ない質なのでしかたないが、難しい。
また、インストールしたアプリ名と分割や変換の機能があるかどうか連想できないのも問題だ。
つまり、
コマンドラインでの入力の方が慣れている世代なのです。
もともと、EverNoteに動画を置くのにサイズの問題があった。有料でも200MBまで。分割できるのだが、ffmpeg -i org.mp4 new.mp4とするだけでnewの方が半分になるので使っていた。
インストールというかファイルを取ってくる
さて、ffmpeg.exeはここから手に入れる。
https://www.ffmpeg.org/
手順は、以下。
- ダウンロードの英語(次図は翻訳)の文字画像をクリック
- ウインドウのマーク、画像(文字でない)をクリック
- ここでは下側の「BtbN」をクリック
令和6年1月11日時点
(tar.bz2?実際ダウンロードファイルはzipだった)
zipファイルを解凍するとbinフォルダに3つのファイルがある。
ffmpeg-master-最新-win64-gpl.zipを選ぶ。解凍してbinフォルダに以下の3つがあればok。このffmpeg.exeファイルはサイズは大きいがこの
.DLLの拡張子のファイルが別に必要な「Linking」とか「Shared」ではなく、Staticを選択する。Static付きのファイルが無かったらShared無しを選ぶ。
解凍した状態で以下のようにLibフォルダがあり、.DLLなどがいっぱいあるならffmpeg.exe単体では動かない。
以下のようにLibフォルダがあるとffmpeg.exeの他に必要なDLLもコピーする必要がある。ffmpeg.exeファイルのサイズは、200kB以下と小さいのでffmpeg.exe単体では動かない。
以下ならコピーするファイルが多くなる。ファイル名にsharedって付いてます。
\は¥のこと
ffmpeg.exeをc:\windowsフォルダに入れておくとどのフォルダからも実行できるが、削除したくてもどれかわからなくなる。
とりあえず、自分しか使わないから以下に置く。
C:\Users\take\
以下は使い方。
一度ffmpegを実行すると圧縮されるようだ。時間を指定するので一度ffmpegを実行する。
開始時間0秒から最後までa.mp4をb.mp4に出力する。
C:\Users\take>ffmpeg.exe -ss 0 -i a.mp4 b.mp4
C:\Users\take>ffmpeg.exe -ss 0 -i 入力ファイル 出力ファイル
分割
分割:スタート(-ss 10)から1分(-t 60)まで。-tは-sの開始からどれだけ記録するか時間を入れる。-iで元の動画。出力先の動画は最後。50秒の動画ができます。
AviUtlでファイルを結合/追加読み込みすると「映像の音ズレ」をおこすことがある。解決策はいろいろあるようだがこのコマンドを使うのが簡単。
結合
結合したいファイルが1.mp4、次に2.mp4の順。以下のテキストファイルを作る。これ作らない方法は見つからない。
file 1.mp4
file 2.mp4
C:\Users\take>ffmpeg -f concat -i a.txt -c copy out.mp4
動画の種類を変える
エンコーダ、動画の種類を変えるのは、拡張子を指定するだけ。
ffmpeg -i aa.avi aa.mp4
VOBファイルもできる。変換ツールを求めて色々インストールする必要はありません。「vob mp4 変換」って検索してもffmpegはなかなか出ません。「動画変換フリーソフト」では何とか見つかるかどうかです。
スピードを早く、遅く
スピードを早くしたり、遅くしたり。ここでは1.5倍速の例
ffmpeg -i src.mp4 -vf setpts=PTS/1.5 -af atempo=1.5 dest.mp4
1.5を0.8にすれば遅くなる。
音声の追加はこちら(m(__)m)にあります。in.m4aが音声です。
ffmpeg -i in.mp4 -i in.m4a -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 output.mp4
エクセルを使った一括処理例