金子邦彦研究室インストールオープンデータ,データファイル処理動画ファイルのコマンド等

動画ファイルのコマンド等

コマンド等を用いて動画データの確認や処理を行う手順を紹介.

目次

  1. 前準備
  2. 動画の情報取得
  3. 音声トラックの除去
  4. 動画の形式変換動画の形式変換
  5. 動画の形式変換(FFmpeg を使用)
  6. トランスコード
  7. 動画のサムネイル作成
  8. 連番画像

Octave 等で動画が処理できない場合:ファイルを "AVI, MS Compatible AVI" に変換することで解決できる場合がある.

1. 前準備

ここでサンプルとして使用する動画

Windows での前準備

Ubuntu での前準備

◆ その他 Ubuntu で動く,動画関係の便利なソフトウエア

動画ファイルの確認や操作など

インストールするには, 端末で,次のコマンドを実行する.

sudo apt -y install openshot-qt
sudo apt -y install winff
sudo apt -y install vlc
sudo apt -y install mencoder

2. 動画の情報取得

mediainfo コマンドによる情報の取得(縦横比,画素数,コーデック,フレームレートなど)(Ubuntu 上)

mediainfo 00008.MTS

[image]

3. 音声トラックの除去

音声トラックが不要という場合の処理.

音声トラックの除去(avidemux3 のコマンドを使用)

avidemux3_cli --nogui --autoindex --video-codec COPY --audio-codec NONE --load <ファイル名> --save <ファイル名>

音声トラックの除去(FFMpeg を使用)

ffmpeg -i <元ファイル.avi> -vcodec copy -an <新ファイル.avi>

4. 動画の形式変換

avidemux を用いた変換

再エンコードにより, avi 形式動画ファイルに変換,音声トラックの除去(avidemux3 のコマンドを使用)

avidemux3_cli --nogui --autoindex --video-codec avi --audio-codec NONE --load <ファイル名> --save <ファイル名>

再エンコードにより, avi 形式動画ファイルに変換(avidemux を使用)

  1. avidemux の起動

    avidemux3_qt5
    

    あるいは

    avidemux3_qt5 <ファイル名>
    
  2. ファイルを読み込む操作
    1. 読み込み開始

      [image]
    2. 読み込むファイルの選択

      [image]
  3. エンコード形式の設定

    ここでは,YU12 形式の avi 動画ファイルを作成することにして,次のように設定する

    [image]
  4. 保存開始

    [image]
  5. ファイル名の設定

    [image]
  6. エンコードが始まるので確認

    [image]
  7. エンコード終了の確認

    [image]

再エンコードにより, mp4 形式動画ファイルに変換(avidemux を使用)

上と同じような手順になる

  1. avidemux の起動

    avidemux3_qt5
    

    あるいは

    avidemux3_qt5 <ファイル名>
    
  2. ファイルを読み込む操作
    1. 読み込み開始

      [image]
    2. 読み込むファイルの選択

      [image]
  3. エンコード形式の設定

    ここでは,mp4 動画ファイルを作成することにして,次のように設定する

    [image]
  4. 保存開始

    [image]
  5. ファイル名の設定

    [image]
  6. エンコードが始まるので確認

    [image]
  7. エンコード終了の確認

    [image]

AviUtl を用いた変換

AviUtl を用いた Windows での mp4 (H.264) 形式ファイルへの変換については,別ページ »で説明している.

WinFF, FFMpeg を用いた変換

WinFF を用いた,avi 形式動画ファイルの変換

WinFF を用いた,avi 形式動画ファイルの変換などを行うことができる. (内部では,FFMpeg を利用)

[image]

[image]

[image]

[image]

FFMpeg で利用できる muxer と codec の確認

ffmpeg -muxers
ffmpeg -codecs

[image]
(以下省略)

[image]
(以下省略)

FFmpeg のオプション

mts 形式から avi 形式への変換(FFmpeg を使用)(Ubuntu 上)

bash プログラム

#!/bin/bash
function do_ffmpeg { 
    # usage example: do_ffmpeg "camera1/00192.MTS" "camera1/00192.avi" "libx264" "16:9"
    IN=$1 
    OUT=$2 
    VCODEC=$3 
    ASPECT=$4 
    echo ffmpeg -i $IN -vcodec $VCODEC -aspect $ASPECT -an -sn $OUT
    ffmpeg -i $IN -vcodec $VCODEC -aspect $ASPECT -an -sn $OUT
    mediainfo $OUT
}
do_ffmpeg 00008.MTS /tmp/00008.avi libx264 16:9

[image]

5. トランスコード

ISO イメージファイルの変換

ISO イメージファイルを mp4 動画ファイルに変換(avidemux3 のコマンドを使用)

ISO イメージファイルが,複数のチャプターを含む場合は,1つの動画ファイルにまとまる.

avidemux3_cli --video-codec FFmpeg4 --audio-codec AC3 --nogui --autoindex --force-alt-h264 --force-b-frame  --load a.iso --save a.mp4

[image]

ISO イメージファイルを,Divx 形式の avi 動画ファイルに変換(avidemux3 のコマンドを使用)

avidemux3_cli --video-codec Divx --audio-codec MP3 --nogui --autoindex --force-b-frame  --load a.iso --save a.avi

[image]

ISO イメージファイルを avi 動画ファイルに変換 (WinFF を使用)

[image]

ISO イメージファイルを mp4 動画ファイルに変換 (FFmpeg を使用)

ISO イメージファイルが,複数のチャプターを含む場合は,1つの動画ファイルにまとまる.

ffmpeg -i a.iso -vcodec h264 -acodec aac -aspect 4:3 -sn c.mp4

[image]
(以下省略)

別の実行例

ffmpeg -i a.iso -sn -target ntsc-dvd c.mp4

ISO イメージファイルを,cinepak 形式の avi 動画ファイルに変換 (FFmpeg を使用)

※「4:3」は処理対象に合わせて調整すること.

ffmpeg -i a.iso -vcodec cinepak -acodec mp3 -aspect 4:3 -sn a.avi

[image]
(以下省略)

ISO イメージファイルを,libx264 形式の avi 動画ファイルに変換,音声は除去 (FFmpeg を使用)

※「4:3」は処理対象に合わせて調整すること.

ffmpeg -i a.iso -vcodec cinepak -an -aspect 4:3 -sn b.avi

[image]
(以下省略)

ISO イメージファイルを avi 動画ファイルに変換(mencoder を使用)

mencoder k1.iso -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4:vqscale=1 -o /tmp/k1.avi

ISO イメージファイルから avi 形式への変換(arista-transcode を使用)

arista-transcode dvd:///home/hoge/hoge.iso -p computer -o hoge.avi

DVD ドライブ

sr0 から avi 形式への変換(arista-transcode を使用)

arista-transcode dvd:///dev/sr0@0 -p computer -o hoge.avi

トランスコードのソフトウエアの起動コマンド例

コマンド例

transcoder example
  avidemux3_cli --force-b-frame --force-alt-h264 --autoindex \
   --load "$INPUT" \
   --fps 29.97 --save "$OUTPUT"

6. 動画のサムネイル作成

動画のサムネイル作成(FFmpeg を使用)(Ubuntu 上)

bash プログラム

#!/bin/bash
function thumbnailer {  
    # usage example: thumbnailer a1.avi a1.png
    IN=$1 
    OUT=$2 
    NUM=$3 
    ffmpeg -y -i $IN -vf thumbnail=1000,tile=8x8 -frames:v 1 -an -vsync 0  $OUT 
}
thumbnailer 00008.MTS 00008.png

[image]

生成されるサムネイルの例

[image]

7. 連番画像

連番画像に変換(FFmpeg を使用)

  1. 作業用の空のディレクトリを作り,そこに AVI 形式動画ファイルを1つ置く.

    作業で、連番画像ファイルがたくさんできるので、その方が、あとで分かりやすいから(という理由のみ)

  2. FFmpeg を使用して変換

    次のコマンドを実行

    ffmpeg -i <動画ファイル名> rgb-%08d.png
    

別の例

F=00008.MTS
ffmpeg -vframes 1 -ss 20 -i $F -f image2 newfile

連番画像 (image sequence) ファイルを動画ファイルに変換

FFmpeg を使用して変換

次のコマンドを実行

ffmpeg -i rgb-%08d.png <動画ファイル名>

別の例.mp4 形式に変換したい場合.ここでは,-framerate でフレームレートを設定している.

ffmpeg -r 30 -c:v libx264 -pix_fmt yuv420p -framerate 30 -i rgb-%08d.png a.mp4

カラーの連番画像 (image sequence) を、モノクロ(濃淡画像)の連番画像 (image sequence) に一括変換

ImageMagick の機能を用い一括変換

次のコマンドを実行

magick convert -type GrayScale rgb-*.png gray-%08d.png