2023年12月18日发(作者:)

SRT字幕字体大小&特效修改初探

写此文希望能对只能用SRT字幕(且手机PDA不能用SSA或SUB字幕)的朋友有帮助

[不要问如何手机智能影 院如何转把SRT转成*.SUB 网上有一堆教你如何提取*.son的文章本文只考虑SRT字幕的处理!!!]

平时我们用 MediaCoder手机电影转换3GP只支持SRT字幕(别人因这个 原因才问这个技术

问题的,这句话的对与错不在本文分析范畴),

但当SRT字幕太小时该怎么处理呢?

但当SRT字幕太小时该怎么处理呢?如何改字体大小和特效呢?!!!

SRT比SSA要难处理多了,SRT是没有Style行的好烦人 ,~所以呢~试着去想了一下

在这里先说局部处理方 法 [下面的代码参考了一下网友的BLOG]

<备注:一般的SRT字幕 只有下边两项>

00:00:00,000 --> 00:00:07,970 (备注:这是时间轴)

おはようございます=早上好 (备注:这是字幕)

<备注:而我们则为它加上一行来实现改变字体大小>

00:00:00,000 --> 00:00:07,970 (备注:这是时间轴)

{¥3c&Hd22c01&}{¥fn黑体¥fs27} (备注:这是改变字体、颜色、大小的参数)

おはようございます=早上好 (备注:这是字幕)

3c的3为字体边框粗、1 为细。

fs27的27为字体的大小。

fn后为用何字体。

c255&为字体颜色。

结论如果认为字 幕字太小可以在时间轴和字幕之间挺插入如下参数(这个参数是可修改的)

{2c&Hd22c125&}{fn楷体 fs26}

---------------------------- 分隔线,上文是前言-----------

但我们总不能一个个Ctrl+c Ctrl+v吧,一部动画有好几百条字幕-0-

所 以我们要用到正则公式,来批量处理文本,以下我介绍一下方法

|---------------------------- 分隔线,上文是引言---------------

|最新发现BUG,本方法只对SSA转成SRT或精确到10毫秒的SRT的字幕文件适用,精确到1毫秒的转换方|法要多加一个步骤,步骤FIRST追加

|-----------------------步骤FIRST追 加---------分隔线------------------------

|如果你的字幕是精确到1毫秒(而不是10毫秒)的,[若你的字幕文件是精确到10毫秒的,请路

过这步骤]会|出现BUG,

|

|

|------------见下几行----------

|00:00:15,501 --> 00:00:30,501

|我是字幕

|我是第二行字幕

|

|

|--------------- 我们可以看到其时间轴末端是*,501 即精确到1毫秒

|用 我说的方法会出现问题~所以多作一步处理

|修 正办法如下

|我们用PopSUB 软件打开SRT文件,另存为另一个SRT文件之后会发现,字幕被精确到10毫秒了,可以用|本页介绍的方法了:效果如下

|

|

|00:00:15,500 --> 00:00:30,500

|我是字幕 我是第二行字幕

|-----------------------步骤FIRST追加---------分隔线 ----------------------------

|

|

下面是公式的使用方法

|___________________________________________

以下是使用公式前的准备工作

◇请确保你用的是SRT字幕,如果是SSA字幕可下

载 一个只Popsub的软件,打开文件另存为SRT格式字幕

◇用正则表达式前确保已经安装了.Net Framework 2.0 [见下下载地],然后下载Regex

Tester [见下下载地]。第一个是微软插件必须的,第二个是文本替换用的软 件

/downloads/?displaylang=zh-cn&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5

/deerchao/downloads/

---------我是分隔线 -----------

使用方法如下

☆第一部

运行 后,先选菜单Commands-> 再选Replace

☆第二部,

把SRT字 幕文件以记事本打开[双击之再选择记事本再点确定],把所有字符复制到本软件soucre栏中

再在Regex栏填 (备注:不得含空格回车TAB等!!!)

0n

再在Replace栏中填

0

{3c&Hd22c01&}{fn黑体fs27}

{2c&HFFFFFF&}{fn楷体fs20}

{2c&HFFB871&}{fn楷体fs20}

再加一个回车(即空一行)

▲之后按键盘上的 F5 之后Matches栏会生成一大串字符

☆第三部,

第三部是有用的,不能省略~~虽然图片看上去没什么不同,但不能省略

把第二部最 下方一栏即Matches栏中生成的的内容复制到soucre栏

再在Regex栏填下面的公式|{备 注}下行结尾是冒号还有不要不小心按了回车导致出现空行

{3c&Hd22c01&}{fn黑体fs27}n00:

{2c&HFFFFFF&}{fn楷体fs20}n00:

{2c&HFFB871&}{fn楷体fs20}n00:

再在 Replace栏中填下字符 |{备注}下行结尾是冒号

00:

▲之后按键盘上的 F5

☆第四部,把重新生成的Matches栏中的新内容复制到你刚才以文本文档打开的记事本页面

-->保存-->新字幕完成

--------------------- 分隔线,--------

------------------------下面这行可看可不看 -----------------

正则公式更详细的教程 (即/deerchao/#getstarted)

======================================

有人问,所以 呢,花了些时间去想~之后写出了此文

由于对正则表达式的理解不太深以及对辅助软件的见识太少了,所以只想到了这个方法.也不算太复杂 吧,

srt字幕的确是比较令人讨厌,不用正则表达式比较难批量处理,相信这个方法在对字幕要求局限性较大的PDA 手机ORMP4会有一定的用处~本人较少发技术文章~所以呢~若有更简便的方法欢迎提出 ^_^

文by doraemon