ffmpeg неверная ширина границы субтитров - PullRequest
0 голосов
/ 07 мая 2018

Это то, что я встретил, когда записывал субтитры к видео.

Вот код задницы, я должен использовать 640x360 в разрешении:

[Script Info]
; Script generated by Aegisub 3.2.2
; http://www.aegisub.org/
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
YCbCr Matrix: None
PlayResX: 640
PlayResY: 360

[Aegisub Project Garbage]
Last Style Storage: Default
Scroll Position: 154
Active Line: 172
Video Position: 10429

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,45,&H00FFFFFF,&H000000FF,&H00FF0000,&H00000000,0,0,0,0,100,100,0,0,1,5.125,3.125,2,28,28,16,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.94,0:05:12.11,*Default,NTP,0,0,0,,the quick brown dog jumps over the lazy fox.

Я обычно использую MeGUI в Windows (со скриптом avs) для записи. Вот код AVS:

DirectShowSource("C:\Users\xxx\Downloads\test.mp4", fps=25.000, audio=false, convertfps=true).AssumeFPS(25,1)
#deinterlace
#crop
#resize
#denoise

LoadPlugin("C:\Users\xxx\Desktop\megui\tools\avisynth_plugin\VSFilter.dll")
TextSub("C:\Users\xxx\Desktop\ass.ass", 1)

ConvertToYV12()

Субтитры после записи выглядят так:

В Windows

Однако он не может использовать MeGui в Linux. Таким образом я использовал ffmpeg. Команда, которую я использовал, выглядит следующим образом:

ffmpeg -i test.mp4 -vf ass=ass.ass -crf 25 -an -f mp4 done.mp4
ffmpeg -i test.mp4 -vf ass=ass.ass:original_size=640x360 -crf 25 -an -f mp4 done.mp4
ffmpeg -i test.mp4 -vf ass=ass.ass:original_size=1920x1080 -crf 25 -an -f mp4 done.mp4
ffmpeg -i test.mp4 -vf subtitles=ass.ass -crf 25 -an -f mp4 done.mp4
ffmpeg -i test.mp4 -vf subtitles=ass.ass:original_size=640x360 -crf 25 -an -f mp4 done.mp4
ffmpeg -i test.mp4 -vf subtitles=ass.ass:original_size=1920x1080 -crf 25 -an -f mp4 done.mp4

Однако все они выглядят так

Субтитры в Linux

Эффект на окна - это то, что я хочу. Как я могу получить такой эффект на Linux? Спасибо!

1 Ответ

0 голосов
/ 19 сентября 2018

Я просто нашел, что это было решено здесь, https://github.com/libass/libass/issues/154

просто добавьте

ScaledBorderAndShadow: no

в заголовке файла задницы может решить эту проблему.

Это задержало меня на год.

...