使用HandBrake烧录字幕到视频里

摘要:使用HandBrake这个软件,将外挂字幕烧录到视频里面,顺便还能缩小视频体积,转换格式。觉得手机拍摄的视频太占空间也可以使用这个软件在保证质量的情况下极大的缩小文件体积。附带利用vscode转换文本编码。

主要步骤

  1. 下载handbrake: https://handbrake.fr/downloads.php

  2. 打开源,选择视频或视频文件夹

    select_video

  3. 设置视频、音频码率,选择字幕文件

    在视频标签页中,一般保持1080p 30, 默认就行

    image-20241225155716465

    如果需要GPU加速,可以在编码器选择对应的选项,如H.264(Nvenc)– N卡专用。

    image-20241225155842913

    音频的话可以查看源文件音频码率,选择合适的。默认是160kb/s,可以改为和源文件一样的,如192kb/s。

    选好视频、音频设置后,点击字幕标签–轨道–导入字幕,选择字幕文件,点击burn in框,删除原来的列。

    image-20241225160350207

    最后点击“添加到队列中”(多个文件)或者直接开始编码(单个文件)

    image-20241225160456096

整个流程演示:

burn_in_srt_to_video

利用VsCode将字幕文件由中文GBK编码转化为UTF8编码

先打开GBK编码的视频文件,发现乱码;点击右下角编码, reopen with gbk; 再次点击右下角编码,save as utf8。

change_text_code_by_vscode

使用PR烧录

有时候用handbrake烧录会失败,此时可以用PR替代。直接将视频和字幕添加到PR的项目里,然后把视频和字幕拉到右边的编辑栏导出即可。

字幕文件时间必须有序

给索尼克电影拉取字幕时发现的问题。

image-20250104195523600

字幕文件在PR里只显示到41:00左右,原因就是字幕文件存在这么一段:

684 00:41:14,590 –> 00:40:57,000

可以看出时间从41秒到40秒,这肯定是不对的。把40:57改成41:16,之后再导入PR就能全部显示了。

image-20250104195420398