使用 ffmpeg,我使用以下方法将字幕刻录到电影中:
ffmpeg -i inputfile.mov -vf "subtitles=subtitles.srt:force_style='Alignment=9,Fontsize=8,Outline=0'" $outputfile.mov
Run Code Online (Sandbox Code Playgroud)
有没有办法延迟/移动字幕起点?例如让所有的潜艇在 2 秒后开始?
我正在使用以下方法为视频添加字幕:
ffmpeg -i "imput.mp4" -lavfi "subtitles=subtitles.srt:force_style='OutlineColour=&H100000000,BorderStyle=3,Outline=1,Shadow=0,Fontsize=18'" -crf 1 -c:a copy "output.mp4"
Run Code Online (Sandbox Code Playgroud)
结果是:

我正在使用Alignment重新定位它:
ffmpeg -i "imput.mp4" -lavfi "subtitles=subtitles.srt:force_style='Alignment=9,OutlineColour=&H100000000,BorderStyle=3,Outline=1,Shadow=0,Fontsize=18'" -crf 1 -c:a copy "output.mp4"
Run Code Online (Sandbox Code Playgroud)

但是根据Line-Alignment ASS Tags文档,只有 9 个位置。1:左下,2:中下,3:右下,5:左上,6:中上,7:右上,9:左中,10:中中,11:右中
有没有办法调整这个定位?
我希望潜艇左对齐,但降低。像这样:

我想用阿拉伯语显示25%*,它应该是这样的:*%25
我尝试使用direction:rtf来显示它,但是,当您向其附加一些阿拉伯文本时,它似乎只能正确显示。运行下面的代码片段来看看我的意思:
var arabicword = "???";
var percent = "25%*";
document.getElementById('text2').innerHTML = arabicword+" "+percent;
document.getElementById('text1').innerHTML = percent;Run Code Online (Sandbox Code Playgroud)
.text {
font-size:3em;
width:300px;
color:white;
background: grey;
}
.arabic{
background:green;
direction:rtl;
}Run Code Online (Sandbox Code Playgroud)
<div id="text1" class="text arabic">0</div>
<br>
<div id="text2" class="text arabic">0</div>Run Code Online (Sandbox Code Playgroud)
提前致谢
在 OSX 上的终端中使用 bash,此代码:
newtext="FIRST<br><br>SECOND<br><br>THIRD"
IFS='<br><br>' read -ra text_array <<< "$newtext"
printf "%s\n" "${text_array[@]}"
输出:
FIRST
SECOND
第三>
为什么数组有这么多换行元素?如果我使用单字符分隔符,它会起作用。