FFmpegは、たまにしか使わないので、使った用途とオプションを記録しておきたいと思います。
動画から音声(wav)分離
ffmpeg -i "入力ファイル名.mp4" -vn "出力ファイル名.wav"
動画から連番画像出力
ffmpeg -i "入力ファイル名.mp4" -vcodec png img%03d.png
解像度を指定する場合は
-s 1280x720
動画を時間を指定して切り出し
動画の開始20秒から40秒間切り出し
ffmpeg -ss 00:00:20 -i "入力ファイル名.avi" -to 00:00:40 -c copy "出力ファイル名.avi"
動画にチャプターを追加
mp4に含まれるメタデータにチャプターを打つことに成ります。まず、mp4ファイルからメタデータをテキストファイルへ出力。任意のテキストエデッタでテキストファイルにチャプターを追加。mp4ファイルにチャプターを含んだメタデータを戻す(追加)。という流れになります。
動画からメタデータを出力
ffmpeg -i "入力ファイル名.mp4" -f ffmetadata ffmetadata.ini
ffmetadata.iniにチャプターを追加
[CHAPTER]
TIMEBASE=1/1000
START=0
END=19999
title=001
テキストエディターでチャプター情報を入力し保存
動画にメタデータを追加
ffmpeg -i "入力ファイル名.mp4" -i ffmetadata.ini -map_metadata 1 -map_chapters 1 -c copy "出力ファイル名.mp4"
チャプターのTIMEBASEが1/1000ですのでSTARTとENDはミリ秒単位の指定だと思われます。
HH:MM:SS.fff形式との変換プログラムがあると便利かもしれません。
HH:MM:SS.fff形式との変換プログラムがあると便利かもしれません。
連番画像ファイルから動画を作成
ffmpeg -framerate 元のフレームレート -i "入力ファイル名%03d.png" -vcodec libx264 -pix_fmt yuv420p -r 動画のフレームレート "出力ファイル名.mp4"
“入力ファイル名%03d.png”の%03dは000,0001,002…という感じの連番数値
元のフレームレートは連番画像を動画から抽出した場合、元となった動画のフレームレート。
元のフレームレートは連番画像を動画から抽出した場合、元となった動画のフレームレート。
コメント