提示

返回博客列表

用 ffmpeg 给视频写标签:title、comment、封面、章节全塞进去

用 ffmpeg 给视频写标签:title、comment、封面、章节全塞进去

前面那篇讲怎么"读"视频的元数据,这篇讲"写"。很多人下完视频,文件名是 abc_123.mp4,资源管理器里啥信息没有;或者想给成品写个标题、塞张封面、加章节跳转,全靠剪辑软件太重。其实 ffmpeg 一行就能写。

最基础的标签

ffmpeg -i in.mp4 -c copy -metadata title="2024年会全程"   -metadata artist="行政部" -metadata comment="内部留存" out.mp4

-c copy 不重编码,秒过。-metadata 可以塞任意键值,常见的 title/artist/album/comment/date 播放器都认。

坑一:MP4 和 MKV 的键名不一样

MP4 用 title,MKV 也认 title 但更爱 TITLE?不,MKV 用 title 也行,但章节等走不同机制。最稳的是同一封装内测试,别假设跨封装通用。我一般 mp4 写 title,mkv 写 title + DESCRIPTION

塞封面进去

ffmpeg -i in.mp4 -i cover.jpg -map 0 -map 1 -c copy   -disposition:v:1 attached_pic out.mp4

-disposition:v:1 attached_pic 标记第二路(封面)为"附件图",资源管理器和播放器才会当成封面显示。漏了这步,图进去了但不当封面。

加章节(让进度条有节点)

章节写在 metadata 里用 ;CHAPTER 格式,或者用 chapter 输入。最省事的是先做个章节文件 chapters.txt

;FFMETADATA1
[CHAPTER]
TIMEBASE=1/1
START=0
END=120
title=开场
[CHAPTER]
TIMEBASE=1/1
START=120
END=600
title=主体

然后:

ffmpeg -i in.mp4 -i chapters.txt -map_metadata 1 -c copy out.mp4

-map_metadata 1 把章节文件的元数据并进去。播放器拖进度条就能看到"开场/主体"节点。

坑二:某些播放器只读 ID3/MP4 原子

VLC 基本都认,但 Windows 资源管理器对 MP4 的 comment 支持时好时坏。要稳就写 titleartist,这俩最通用。

批量

一文件夹视频,按文件名规则写 title,Python 跑 subprocess 循环即可(套路见后面 Python 包 ffmpeg 那篇)。别用 -map_metadata 去覆盖掉原有的,先 ffprobe 看看原来有没有,免得把别人写好的章节洗掉。

想亲手试试?用 VidDown 一键解析下载

粘贴视频链接即可解析,多平台支持、网页端即用;下载桌面客户端解锁海外平台本地解析,开通会员更享不限次下载。

顶部