📖
FFmpeg のメモ
5分ごとに分割
-reset_timestamps 1 でタイムスタンプをリセットしています.
ffmpeg -i input.mp4 -c copy -segment_time 300 -f segment -reset_timestamps 1 output_%03d.mp4
日付
-metadata creation_time=""で日時が書きこまれます. この例では音声はそのままで映像を HEVC にエンコードしています.
ffmpeg -i .\input.mkv -c:v hevc -c:a copy -metadata creation_time="2024-02-03T15:04:34.000000Z" output.mp4
-c:vの種類
-c:v |
内容 |
|---|---|
| copy | そのまま |
| libx264 | AVC |
| hevc | HEVC |
| libx265 | HEVC |
| libsvtav1 | AV1 |
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset slow -c:a copy -tag:v hvc1 -map_metadata 0 -movflags +faststart output.mp4
exiftool -api largefilesupport=1 -tagsfromfile input.mp4 -all:all output.mp4
メタデータ
-metadata |
内容 |
|---|---|
| creation_time | 生成日時 |
| date | 撮影日(?) |
| title | タイトル |
-c:v hevc -c:a copy -metadata creation_time="2024-02-25T08:00:00.000000Z" -metadata date="2024-02-25T08:00:00.000000Z" -metadata title="タイトル" -movflags +faststart
可変フレームレート
可変フレームレートな複数の動画を引っ付けてAV1で書き出しています.
ffmpeg -f concat -safe 0 -i filelist.txt -vsync vfr -c:v libsvtav1 -crf 50 -preset 4 -c:a copy -movflags +faststart output.mp4
VFRな動画のとき(?) (よくわかっていません)
ffmpeg -fflags +genpts -f concat -safe 0 -i file.txt -vsync vfr -c:v copy -c:a copy -movflags +faststart output.mp4
随時追加していきます.
Discussion