Kinaconの技術ブログ

Ubuntuはじめました。

ffmpegで連番動画を取得する。

f:id:m-oota-711:20180824075049j:plain

SimpleScreenRecorderで撮影したキャプチャー動画を静止画にしたかった。
Ubuntuでは、ffmpegを使用するようだったのでその備忘録です。


SimpleScreenRecorderの話はこちらです。
kinacon.hatenablog.com


ffmpegはフリーの動画と音声を変換するツール。
使用はコマンドラインで行う。
コーデックも多く対応しており広く使用されているとのこと。



以下のサイト参考にしました。
ffmpegの使い方やコマンド一覧をまとめました。動画リサイズ・静止画変換・フレーム補間について






実行環境
・PC(HP Compaq Pro 6300 SFF
 OS:Ubuntu 16.04.5 LTS
 CPU: Core i5 3470
 メモリ: 4GB 
 GPU : GT 1030


作業内容

ffmpegのインストール

ffmpegが入っていないかしらべたらaptでダウンロードしてくださいと言われた。

f:id:m-oota-711:20180905163135p:plain

早速、インストール

sudo apt install ffmpeg

使用方法

私がしたいことは「動画のサイズを変更する」と「動画をフレーム単位で静止画にする(連番画像を作る)」です。
今後、増えたら書き加えていきます。


動画のサイズを変更する

ffmpeg -i input.mp4 -vf "scale=720:480" -c:v mpeg4 -q:v 1 output.mp4
オプション 設定
-i input.mp4 入力ファイルを指定する
-vf "scale=720:480" リサイズする解像度を指定する
-c:v mpeg4 動画のコーデックを指定する
-q:v 1 動画のクオリティを指定する 品質(1〜32)値が低いほど高品質
output.mp4 出力ファイル名を指定する

動画をフレーム単位で静止画にする(連番画像を作る)

ffmpeg -i input.mp4 -vcodec png -r 10 image_%03d.png
オプション 設定
-i input.mp4 入力ファイルを指定する
-vcodec png コーデックを指定する
-r 10 静止画にするフレームレート(1秒間に何枚か)を指定する
image_%03d.png 出力ファイル名を指定する。%03dで3桁の連番画像が出力される

以上。