こんにちは松田です。
FFmpegを使って動画の変換をしてみようと思います。
各バージョン
- CentOS 7.6
- FFmpeg 2.8.15
FFmpegのインストール
yumコマンドでインストールできます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# epelリポジトリ導入
yum install epel-release
# Nux Dextopリポジトリ導入
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
# FFmpegインストール
yum install ffmpeg ffmpeg-devel
# 確認
ffmpeg -h
# ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers
# built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)
# ...
|
動画のコーデックを調べる
HTC Jで撮影したイルカショー動画のコーデックを調べてみます。
コーデックを調べるにはffprobeコマンドを使います。
1
2
3
4
5
6
7
|
ffprobe -i VIDEO0001.mp4
# ...
#Duration: 00:02:11.54, start: 0.000000, bitrate: 5109 kb/s
#Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 4942 kb/s, SAR 1:1 DAR 16:9, 29.65 fps, 29.67 tbr, 90k tbn, 180k tbc (default)
# ...
#Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
# ...
|
ビットレート5109kb/s、映像はH264、音声はAAC、1280×720ピクセル、フレームレートは29.65fpsと分かりました。
特定シーンを切り出してみる
ちょうどイルカが飛びがったシーン(72秒から3秒間)を切り出してみます。
-ssで開始秒、-tで切り出す秒数を指定します。
1
|
ffmpeg -ss 72 -i VIDEO0001.mp4 -t 3 VIDEO0001-1.mp4
|
912KBの3秒動画ができました。
1
2
|
ls -h VIDEO0001-1.mp4
# -rw-r--r--1 root root 912K May 19 20:59 VIDEO0007-1.mp4
|
gifに変換してみる
何も指定せず変換すると3秒の動画で15MBと、かなり大きいファイルになったので、
-rでフレームレートを10、-vfで幅を320にします。
1
|
ffmpeg -i VIDEO0001-1.mp4 -r 10 -vf scale=320:-1 VIDEO0001-1.gif
|
498KBのgifに変換されました。
終わり
ffmpegを使うと簡単に動画の切り出しや変換ができました。
今後の動画の編集や変換に活用しようと思います。