手动制作中英双语字幕

Totem,mplayer,sopcast,realplayer,bmp
回复
头像
jepen
帖子: 221
注册时间: 2010-06-14 1:08
送出感谢: 0
接收感谢: 3 次

手动制作中英双语字幕

#1

帖子 jepen » 2010-11-19 15:30

这个是将2个语言字幕合并成一个双语字幕的方法,
在GG上搜到的,贴出来分享 ,本人亲测可用,不过双语之间有时间轴,求优化

1# 打开终端

2#,合并差异:

代码: 全选

diff mov.chs.srt mov.eng.srt -D diff > mov.ec.srt
-D 参数是合并差异,后面diff为自行添加的差异标识(文字描述,你怎么写都可以),是必须的。man 手册中是这样说的:

-D NAME --ifdef=NAME
Output merged file to show ‘#ifdef NAME’ diffs.

3# OK,现在我们生成了一个合并好的字幕,但中间凡是差异合并的地方都有以 #ifdef 及 #endif 开头的注释句标识,剩下的工作只要把这样的句子去掉就大功告成了。再用一条命令把它搞掂:

代码: 全选

cat mov.ec.srt |grep -v '^\#.*' > mov.srt
这句比在vim中用正则还要方便点,当然这也是用的正则,重点在 -v 这个参数,help 中有说:
-v, --invert-match select non-matching lines
即选择不匹配的行,正是我们想要的。单引号中是正则表达式匹配以#开头的行。

4# 用mplayer 或者vlc直接加载字幕文件 即可播放 或者用下列命令 "mplayer /Volumes/Untitled\ 3/Boston.Legal.S01E10.HDTV.XviD-LOL/boston.legal.s01e10.avi -sub mov.srt"(引号中是我个人视频路径,可根据自己的更改)

如果很不幸,你下载的中英文字幕的时间轴差别很大,这时按照上一篇的方法制作出来的双语字幕就会出现紊乱。其实这个问题还是可以解决的。以射手网的 srt 字幕为例,每一句字幕由三部分组成:序号、时间轴、字幕文字。由于没有搜到 srt 标准比较官方的资料,只发现对于 srt 字幕来说,时间轴和字幕文字是必须的,也就是说,序号可有可无。那对于时间轴差别很大的两个字幕文件来说,只要按时间顺序将其合并,上面提到的问题就迎刃而解了。
头像
nmsfan
帖子: 18958
注册时间: 2009-10-16 22:46
来自: finland
送出感谢: 16 次
接收感谢: 36 次

Re: 手动制作中英双语字幕

#2

帖子 nmsfan » 2010-11-19 20:15

:em11 :em11
>>>>推Ubuntu 桌面培训~~<<<<
>>>>想加入/了解gimp汉化吗,点我吧~<<<<
——————————————————————
不推荐wubi,也不推荐你给别人推荐wubi…………
随心而为的感觉真好……
强推mayhem!!
强推ensiferum
头像
jarryson
帖子: 4002
注册时间: 2005-08-14 19:53
送出感谢: 1 次
接收感谢: 2 次
联系:

Re: 手动制作中英双语字幕

#3

帖子 jarryson » 2010-11-19 21:26

这个不错。很有用。。
头像
只是说
帖子: 1140
注册时间: 2012-03-12 22:44
系统: 贱兔
来自: 株洲
送出感谢: 32 次
接收感谢: 5 次

Re: 手动制作中英双语字幕

#4

帖子 只是说 » 2012-07-29 19:59

很有用的东西,mark一下,虽然不懂意思,但是根本这两步确实可以实现把中文字幕和英文字幕合并。 :em11
我的博客
头像
杨柳3811
帖子: 18
注册时间: 2010-06-04 17:32
送出感谢: 0
接收感谢: 0

Re: 手动制作中英双语字幕

#5

帖子 杨柳3811 » 2012-08-18 7:31

很好用。谢谢分享~
举世誉之而不加劝

举世非之而不加沮
回复

回到 “影音多媒体”