📖

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

http://fftest33.blog.fc2.com/blog-entry-110.html

可変フレームレート

可変フレームレートな複数の動画を引っ付けて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

随時追加していきます.


https://gist.github.com/euske/4d311ec34522ed766aaaf1a75530df6a

https://zenn.dev/pinto0309/scraps/94f2cbaa8d150a

https://trac.ffmpeg.org/wiki/Encode/H.265

Discussion