要求
我正在尝试将 ass 字幕文件添加到 mp4 视频中。我希望文本使用系统/自定义字体并具有特定位置。
我的测试
这是我的 ass 文件的一个例子:
[Script Info]
Title: Italiano
Original Script: my_it [my_it]
Original Translation:
Original Editing:
Original Timing:
Synch Point:
Script Updated By:
Update Details:
ScriptType: v4.00+
Collisions: Normal
PlayResX: 640
PlayResY: 360
Timer: 0.0000
WrapStyle: 0
[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: Dialogue,Trebuchet MS,22,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,0,2,0010,0010,0015,0
[Events]
Format: Layer,Start,End,Style,Name,MarginL,MarginR,MarginV,Effect,Text
Dialogue: 0,0:00:01.98,0:00:08.48,Luoghi,,0000,0000,0000,,{\fad(500,525)\shad1\pos(315,255)}Alexandrovsk-Sakhalinsky\N(Akou)
如果在同一目录中重现视频 Clean.mp4 和字幕文件 Clean.ass,则字幕显示正确。
相反,如果我尝试将 ass 文件添加到 mp4 容器,字幕将不再正确显示。我使用的 ffmpeg 命令是:
ffmpeg.exe -i Clean.mp4 -i Clean.itIT.ass -c copy -c:s mov_text add_sub.mp4
我有具有以下设置的 ffmpeg --enable-fontconfig
:。
约束
- 无法更改视频容器,我需要 mp4 文件(没有 mkv)
- 无法给字幕留下深刻印象(没有硬字幕)
- 有一个包含视频、音频和字幕的单独文件。
在这些约束下是否有可能得到所要求的结果?
答案1
你可以使用这个命令:
ffmpeg.exe -i input.srt -c copy -c:s mov_text output.mkv
然后:
ffmpeg.exe -i input.mkv -c copy -map 0 -c:s mov_text output.mp4