ffmpeg(動画編集ソフト)、使ってみた。
ffmpegというフリーの(主に?)動画編集を使ってみて、使い方を忘れないように一応書き留めておく。
かなりの初心者向けかもしれない(ワタシがそうなので💦)。
ちなみにwindows10です。
- ☆ 基本操作
- ☆ 拡張子の変更
- ☆ トリミング
- ☆ クロッピング
- ☆ 動画の合成
- ☆ 動画の解像度変更
- ☆ 動画から指定時間の画像を抜き取る
- ☆ 動画から連番で画像抜き取る
- ☆ 全フレームの情報をtest.txtに保存
- ☆ 動画からIフレームを画像で抽出
- ☆ 動画から音データのみを抽出
☆ 基本操作
①まず、コマンドプロンプトを開きます。
(1)左下のウィンドウズマークで左クリック
(2)「検索(S)」で「cmd」と打ち込むと出てきます。
②ffmpegがあるディレクトリに移動。
(1)現在のコマンドプロンプトに「cd hoge\ffmpeg\bin」と入力。
(Cドライブ直下なら「cd C:\ffmpeg\bin」(\は¥かも))
③具体的にffmpegで何をするのか。
以下のように編集したい動画の名前を-iのすぐ後ろに、そして一番最後に
出力(編集後の)データの名前を記述。
ffmpeg -i 入力ファイル オプション 出力ファイル
☆ 拡張子の変更
例:test.wmvからtest.mp4に変更
ffmpeg -i test.wmv test.mp4
☆ トリミング
動画を時間指定してトリミング(動画の1時間23分45.6秒から7時間8分9秒
(時間と分は省略可))
ffmpeg -i input.mp4 -ss 1:23:45.6 -to 7:08:09.0 output.mp4
☆ クロッピング
動画を座標指定してクロッピング(切り抜く動画のサイズが横970px,縦720pxで、
その動画の左上座標が元の動画の(x,y)=(172,248)である場合)
ffmpeg -i input.mp4 -vf crop=970:720:172:248 output.mp4
☆ 動画の合成
例は3つの動画(a.mp4とb.mp4とc.mp4)を順につなげて1つの動画にする。
n=?は動画の個数、v=?は動画,a=?は音声をつなげるかどうか0or1
ffmpeg -i a.mp4 -i b.mp4 -i c.mp4 -filter_complex "concat=n=3:v=1:a=1"
output.mp4
☆ 動画の解像度変更
例は動画の横の長さを123px、縦の長さを456pxに変更したいとき。
ffmpeg -i input.mp4 -s 123x456 output.mp4
☆ 動画から指定時間の画像を抜き取る
ffmpeg -v 1 -i test.mp4 -ss 10 -f image2 out.png
☆ 動画から連番で画像抜き取る
-ssは動画抜き出し開始時間、-rは1秒間に何枚か、-toは終了時間
ffmpeg -v 1 -i test.mp4 -ss 10 -r 1 -f image2 out%05d.png
☆ 全フレームの情報をtest.txtに保存
ffprobe -show_frames -select_streams -v -pretty test.mp4 >test.txt
☆ 動画からIフレームを画像で抽出
ffmpeg -i test.mp4 -vf select='eq(pict_type\,I)' -vsync 2 -f image2 out%04d.png
☆ 動画から音データのみを抽出
(-yは上書き指定、-abはビットレート指定)
ffmpeg -y -i input.mp4 -ab 128k output.mp3
とりあえず、ここまで。以後更新予定。