为啥 ffmpeg 刻录中文字幕(ass) 不换行?
Posted
技术标签:
【中文标题】为啥 ffmpeg 刻录中文字幕(ass) 不换行?【英文标题】:Why does ffmpeg burn Chinese subtitles(ass) without word wrap?为什么 ffmpeg 刻录中文字幕(ass) 不换行? 【发布时间】:2020-07-09 07:19:23 【问题描述】:my ffmpeg burn subtitle example
ffmpeg 将字幕刻录成 mp4。属性 WrapStyle(0:word wrap, 1: char '\N' or movie edge force change line, 2: only \n and \N change line)。
英文字幕运行正常。 WrapStyle=0时中文字幕不换行。
【问题讨论】:
【参考方案1】:因为文本中没有空格。
中文通常在单词或句子之间没有任何空格字符。 ASS 字幕格式最初是由欧洲语言使用者设计并为欧洲语言使用者设计的,不幸的是,它只会破坏实际空格字符上的单词。您的字幕文件不包含任何空格字符,因此不会出现断行。
未来
有an open pull request 教libass 正确地打破这些线。 libass 是 FFmpeg 用来显示字幕的软件。最终,这应该会导致一个 FFmpeg 选项来启用此类换行符。
在此之前,您唯一的选择是将明确的\N
添加到您希望换行的字幕文本中。
【讨论】:
以上是关于为啥 ffmpeg 刻录中文字幕(ass) 不换行?的主要内容,如果未能解决你的问题,请参考以下文章
如何在直播中使用 FFMpeg 将 dvb 字幕转换为文本格式,或者如何优化 dvb 刻录过程?