33 ffmpeg メモ: 動画の切り出し

(多分しばらく工事中)

「対面授業」という名のハイブリッド授業が増えてあたふたしている (純粋の対面授業なら良いけれど、ハイブリッド授業は色々面倒で、 オンデマンド資料作成よりずっとしんどい。)。 授業内容を収録した動画を作成するのだけれど、色々失敗して、 やりたくない動画の編集をする羽目になった。


ネットで “Mac 動画編集” で検索すると、 iMovie を使うことが勧められたりする。 試してみたけれど、まず慣れるのに時間がかかりそう。 「時刻 h1:m1:s1 から h2:m2:s2 まで切り出したいだけなのに、 スライドバーをずるずる動かさないといけないのぉ。」 「うわぁ、再エンコードしてとんでもないファイルが出来た。」 (多分慣れている人はささっとやる方法を知っているのだろうけれど。)


今回は困った時の ffmpeg 頼み。ffmpeg はこれまでも

  1. 計算データを可視化して得られた静止画像から動画を作る。
  2. Zoom で作成してなぜか巨大になった動画ファイルのサイズを縮小する。
などで使っている。とても感謝している。


「FFMPEG で指定時間でカットするまとめ」 を手引きにした。

念のため言葉の確認

時刻にしても時間にしても、2つの表し方がある。

  1. 秒数
  2. 時:分:秒.ミリ秒
    疑問: 秒を整数に限らず小数で指定できる、ということではないのか?
(もちろん、時間軸の原点は、その動画データの初めのところ。)


ある部分だけ切り出すには、最初と最後の部分を指定する。
ffmpeg -i 入力ファイル名 -ss 最初の時刻 -t 継続時間 -c copy 出力ファイル名
ffmpeg -i 入力ファイル名 -ss 最初の時刻 -to 最後の時刻 -c copy 出力ファイル名
-ss の後の引数について: 動画の一番最初の時刻は0なので、時刻と時間が一致するわけだ。


動画収録を始めて、最初のうちはよかったけれど、 途中からグダグダになったので、あるところから後をカットする (動画の最初から「あるところ」までを切り出す) という場合には、 最初の時刻を 0 と指定すればできるわけだが、 単に -ss 最初の時刻 を省略すれば良い。
ffmpeg -i 入力ファイル名 -t 継続時間 -c copy 出力ファイル名
ffmpeg -i 入力ファイル名 -to 最後の時刻 -c copy 出力ファイル名

次は連結だろうか。



桂田 祐史