ffmpeg转码时字幕流只剩繁体
时间: 2025-01-06 19:22:18 浏览: 3
### FFmpeg 转码过程中字幕流显示为繁体中文的解决方案
当使用 FFmpeg 进行转码操作时,如果发现字幕流仅支持繁体中文而无法正常转换成简体中文,这通常涉及到字符集编码以及字体渲染方面的问题。
为了有效解决这一问题,可以采取以下几种方法:
#### 方法一:通过 `-sub_charenc` 参数指定字符编码
在命令行调用 FFmpeg 时加入参数 `–sub_charenc utf-8` 或者具体的源文件使用的其他编码方式。这样做可以让 FFmpeg 正确解析输入字幕中的字符编码[^1]。
```bash
ffmpeg -i input.mp4 -sub_charenc UTF-8 -vf subtitles=input.srt output.mp4
```
此命令假设原始 SRT 文件是以 UTF-8 编码保存的文字档;如果不是,则需替换为实际的编码名称。
#### 方法二:利用外部工具进行预处理
对于已经存在的含有繁体字幕的内容,在执行 FFmpeg 处理之前先借助 OpenCC(Open Chinese Convert)这样的开源项目来进行批量简化转换工作。安装并配置好环境之后运行如下脚本完成转换过程[^2]:
```bash
opencc -i input.srt -o simplified_input.srt -c t2s.json
ffmpeg -i video.mkv -vf "ass=simplified_input.srt" result.avi
```
这里 `-c t2s.json` 表示采用由繁至简模式(`t2s`) 的映射表对原字幕做变换后再参与后续合成流程。
#### 方法三:调整播放器设置
有时并不是因为转码本身造成的问题而是由于最终观看设备或软件默认选择了特定的语言版本。因此建议检查目标平台是否有提供相应的选项让用户自定义偏好设定来切换语言形式[^3].
以上三种途径可以根据具体情况单独尝试或是组合运用以达到最佳效果。
阅读全文