mkv格式和mp4格式不一样貌似不能添加封面,但是可以附加文件在里面,字体也可以这样附加进去,附加文件的命令如下
ffmpeg -i in.mkv -attach cover.png -metadata:s:t mimetype=image/png -metadata:s:t title="Cover" -metadata:s:t filename="Cover" -c copy out.mkv
通过 -attach
指定需要附加的文件路径,-metadata:s:t mimetype=
告知编码器写入的文件类型,-metadata:s:t title="Cover" -metadata:s:t filename="Cover"
设置编码后附加文件的名称
添加字幕
ffmpeg -i in.mkv -i subtitles.srt -metadata:s:s language=eng -metadata:s:s title="English Subtitles" -c copy out.mkv
通过-metadata:s:s language=
设置字幕所属的语言,通过 metadata:s:s title=
设置字幕的标题
给视频设置章节
ffmpeg -i in.mkv -i ffmetadata -map_metadata 1 -c copy out.mkv
其中-i ffmetadata
是一个文件,其内容如下
;FFMETADATA1
[CHAPTER]
START=0000000
END=38000000000
title=章节1
[CHAPTER]
START=38000000000
END=847000000000
title=章节2
[CHAPTER]
就是定义一个章节,START
就是开始时间戳,END
就是结束时间戳,title
就是章节标题
时间戳的算法为 (小时*3600+分钟*60+秒)*1000000000
一些散碎参数
-metadata:s:a language=
设置音频所属的语言
-metadata title=
设置视频的标题
-metadata comment=
设置视频的备注
-disposition:s:0 default
设置0号流为默认,通常用于设置默认字幕