Почему ffmpeg записывает китайские субтитры (задницу) без переноса слов?

пример записи субтитров в ffmpeg

ffmpeg записать субтитры в mp4. Свойства WrapStyle (0: перенос слов, 1: символ '\N' или край фильма принудительно заменяют строку, 2: только \n и \N заменяют строку).

Английские субтитры идут нормально. Китайские субтитры не имеют переноса слов, если WrapStyle=0.


person bjjoy    schedule 09.07.2020    source источник


Ответы (1)


Потому что в тексте нет пробелов.

Китайский обычно пишется без пробелов между словами или предложениями. Формат субтитров ASS, изначально разработанный носителями европейского языка и для них, к сожалению, разбивает слова только на фактических пробелах. Ваш файл субтитров не содержит пробелов, поэтому строки никогда не разрываются.

Будущее

Существует открытый запрос на включение, чтобы научить libass правильно разбивать такие строки. libass — это программное обеспечение, которое FFmpeg использует для отображения субтитров. В конце концов, это должно привести к опции FFmpeg, позволяющей включать такие разрывы строк.

До тех пор ваш единственный вариант — добавить явный \N в текст субтитров, где вы хотите, чтобы строки были разорваны.

person Chortos-2    schedule 21.08.2020