怎么把字幕文件嵌入视频:两种嵌入方案
怎么把字幕文件嵌入视频分为软字幕封装与硬字幕烧录两类,软字幕是把SRT/ASS字幕作为独立文字轨道打包进视频容器,MKV支持完整样式,MP4仅支持mov_text编码字幕,无需重编码,可开关字幕;硬字幕直接把文字渲染到视频画面像素内,全平台播放器通用,必须重编码,字幕无法关闭。短视频平台上传优先选硬字幕,本地存档、多语言版本优先选软字幕。软字幕仅在支持字幕轨道的播放器内生效,直接上传抖音、快手等平台会出现字幕不显示的情况。
怎么把字幕文件嵌入视频:软字幕封装操作
MKV封装推荐MKVToolNix,打开软件后直接拖入原视频与SRT字幕文件,在轨道列表勾选字幕轨道,确认输出路径,点击开始混流,整个过程不重新压缩视频画面,耗时短,文件体积增量很小。MP4封装软字幕需要FFmpeg,执行命令ffmpeg-i原视频.mp4-i字幕.srt-map0:v-map0:a-map1-c:vcopy-c:acopy-c:smov_text输出.mp4,字幕文件必须保存为UTF-8编码,中文才不会出现乱码。MP4容器对ASS样式字幕兼容性较差,复杂字体、描边效果建议使用MKV容器封装。
软字幕的局限很明确。
怎么把字幕文件嵌入视频:硬字幕烧录操作
图形界面工具HandBrake适合新手,导入视频后切换到字幕选项卡,导入SRT文件,勾选BurnIn烧录字幕选项,设置输出格式为MP4,调整码率参数后开始编码,编码时长随视频分辨率与电脑CPU性能变化,1080P视频耗时通常接近原视频时长。剪映电脑端导入视频,点击文本,选择导入字幕文件,字幕加载到时间轴,调整字体、位置,导出视频即可完成硬烧录,操作门槛最低,导出时会重新编码视频。FFmpeg硬烧录命令为ffmpeg-i原视频.mp4-vfsubtitles=字幕.srt输出.mp4,需要系统安装对应中文字体,否则中文会变成方框乱码。
| 方案 | 播放器兼容性 | 是否可开关字幕 | 是否重编码 | 适用场景 |
|---|---|---|---|---|
| 软字幕封装 | 仅支持字幕轨道播放器 | 可开关 | 一般不需要 | 本地收藏,多语言版本 |
| 硬字幕烧录 | 全设备通用 | 不可开关 | 必须重编码 | 短视频平台发布,手机直接播放 |
字幕文件预处理是避免失败的关键步骤,SRT文件用记事本打开,选择另存为,编码选项修改为UTF-8,能解决绝大多数中文乱码问题。文件名不要包含中文空格、特殊符号,FFmpeg、MKVToolNix读取带特殊符号路径的字幕文件时容易读取失败。ASS字幕自带字体、描边、位置样式,软封装到MKV可完整保留样式,硬烧录时所有样式会直接渲染进画面。
该方法的适用边界是,软字幕封装生成的MP4文件,在微信内置播放器、部分电视播放器、短视频网页端无法识别字幕轨道,字幕不会自动显示。如果你需要在这些渠道分发视频,无论用什么工具,都要选择硬烧录方式。单独把视频和SRT文件放在同一文件夹,文件名保持一致,只是外挂字幕,不属于嵌入视频,换设备发送文件时字幕会丢失。
重编码会对视频画质产生影响,硬烧录时降低输出码率,画面会出现明显模糊、色块失真,1080P视频建议设置码率不低于4Mbps,平衡画质与文件大小。一次错误操作案例:使用FFmpeg硬烧录,电脑没有安装字幕指定的黑体字体,导出视频内所有中文字符全部显示为空白方框,重新安装字体并重新编码后字幕正常显示。
在线工具可以临时处理短时长视频,Veed、Kapwing支持网页上传视频与字幕文件,直接导出硬字幕视频。在线工具存在文件大小上限,长视频上传耗时长,免费版本导出视频大多自带水印,不适合批量处理高清素材,批量工作优先使用本地软件。
