素人がffmpegを使った

素人がffmpegを使って、とりあえず動いた。
コマンドの意味とかわかってません。
話半分でお願いします。


Sponsored Link

動画の連結

まず、連結する動画のファイル名は、
別のテキストファイルに予め書いておく(らしい)。
「C」はCドライブのC?
スラッシュなどで区切ればフォルダに入れてもいい?
input.txtなどと名付けて保存。

file C:aaa.mp4
file C:bbb.mp4

コマンドはこちら。
実行する時に、コマンドプロンプトに直接打ち込んでもいいし、
前もって、バッチファイルに書いておいてもいい。
(メモ帳にコマンドを書いて拡張子をbatにしただけ)

ffmpeg -f concat -safe 0 -i input.txt -c copy output.mp4

関係するファイル類を
ffmpeg.exeと同じ「bin」ってフォルダに入れる。
ffmpegをDLした直後は、3つのexeファイルが入っている。
今回は、連結したい2つのmp4、input.txt、
バッチファイルから実行するなら、batも。

「ffmpeg.exe」をダブルクリックしても
一瞬コマプロが開いて消えるだけで何も起こらなかった。

ffmpegのbinフォルダ

バッチファイルをダブルクリックする。
もしくは、
コマンドプロンプトで「bin」フォルダまで移動して、
先ほどのコマンドを実行するか、
バッチファイルの実行。
「パスを通す」なる作業をすると
もっと楽にできるらしいがよくわからない。

ffmpegをコマプロから実行

たくさんログが出て、
数秒で終了。

ffmpegの実行完了

コマンドで指定したファイル名で、
「output.mp4」が連結された動画として生成されてます。

ffmpeg結合動画生成完了

基本的にうまくできるが、
他の動画編集ソフトで分割した動画を
ffmpegで連結すると、なぜか数秒の空白が
空くことが1度だけあったがよくわからない。

動画のカット(切り出し)


コマンドはこちら。
コマンドの意味はよくわからないが、
330秒目から10秒間分をカットして10秒動画を
切り出すというコマンド。
この秒数の部分の
「330」を「00:05:30」
「10」を「00:00:10」 というふうに、
何時何分何秒という書き方をしても動いた。

最初から何秒目までなら、最初を0秒にすればいいが、
何秒目から最後までだと、最後はその時刻を
手入力するしかないみたい。
一発で最後までという指定の仕方がない?

ffmpeg -ss 330 -i ccc.mp4 -t 10 out2.mp4

先ほどと同様、カットしたい動画ファイルを
「bin」フォルダに入れてから、
コマンドをバッチファイルから実行するか、
コマプロから実行する。

使ってみた感想

使ってみた結果だが、
カットに関しては、
短い動画なら一瞬で終わるが、
長い動画だと数分かかる。
動画編集ソフトだと長いファイルでも数秒で終わるのに。

いろいろなサイトを調べてみて、
シークに時間がかかるので、
コマンドのファイル名の部分や数字の部分の
順番を変えればいいというカキコミもあったが、
短い1分動画だと一瞬で終わるのを見ると、
今回は、単純に処理に時間がかかっているような気がする。
あと、やたらPCのファンがゴーゴーと音がなり、
負荷がかかっているような気もする。

自分の使い方がおかしいかもしれないので、
わからないが、動画のカットに関しては
使い勝手は微妙な感じ。