这是我在将字幕刻录到视频时遇到的情况。
这是屁股代码,我必须在解决方案中使用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.
我通常在Windows上使用MeGUI(使用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上
但是,它无法在Linux上使用MeGui。因此我使用了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上的字幕
对Windows的影响是我想要的。我怎样才能在Linux上获得这样的效果?谢谢!
答案 0 :(得分:1)
我只是想在这里解决它, https://github.com/libass/libass/issues/154
只需添加
ScaledBorderAndShadow: no
驴子文件头上的可以解决此问题。
它困了我一年。