TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

标题: ASS对白时间轴文件转TCAS (附完整工程) [打印本页]

作者: milkyjing    时间: 2011-10-17 14:22:41     标题: ASS对白时间轴文件转TCAS (附完整工程)

完整工程: tcas_conv.rar
  1. from tcaxPy import *

  2. def tcaxPy_Init():
  3.     global _Fs
  4.     global Font
  5.     global FontOut
  6.     _FontFileName = GetVal(val_FontFileName)
  7.     _FaceID       = GetVal(val_FaceID)
  8.     _Fs           = GetVal(val_FontSize)
  9.     Font = InitFont(_FontFileName, _FaceID, _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), MakeRGB(255, 255, 255), 0, 0)
  10.     FontOut = InitFont(_FontFileName, _FaceID, _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), MakeRGB(0, 0, 0), 1, 0)

  11. def tcaxPy_Fin():
  12.     FinFont(Font)
  13.     FinFont(FontOut)

  14. def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):

  15.     ASS_BUF = []
  16.     TCAS_BUF = []

  17.     ass_main(ASS_BUF, SubL(_start, _end), pos(_x, _y - _Fs) + color1('FFFFFF') + color3('000000') + bord(1), _txt)  # 对比

  18.     dx = _x - int(_a / 2 + 0.5)         # 一个固定操作, 将an5的坐标转换为an7
  19.     dy = _y - int(_Fs / 2 + 0.5)        # ASS特效默认采用an5坐标, TCAS特效则采用an7坐标

  20.     PIX_t = TextPix(Font, _txt)
  21.     PIX_o = TextPix(FontOut, _txt)
  22.     tcas_main(TCAS_BUF, PIX_t, 10 * _start, 10 * _end, dx, dy, 1)
  23.     tcas_main(TCAS_BUF, PIX_o, 10 * _start, 10 * _end, dx, dy, 0)

  24.     return (ASS_BUF, TCAS_BUF)
复制代码
说明:
关于TCC文件, k mode要设为syl, tcaxpy init 与 tcaxpy fin 要设为true
关于SYL文件, 就是普通的ASS时间轴文件(不包含任何特效代码), 之后再在每句对白前加上{\k0}, 可以使用记事本的替换功能, 将",,", 替换成",,{\k0}", (不包含引号)



作者: milkyjing    时间: 2011-10-17 14:51:30

补上截图

空白视频

真实视频



图片附件: [真实视频] TCAS2.jpg (2011-10-17 14:50:52, 32.55 KB) / 下载次数 1927
http://tcax.org/forum.php?mod=attachment&aid=OTN8NGZiMGQ3OWR8MTczMjQ2ODQxNXwwfDA%3D



图片附件: [空白视频] TCAS.jpg (2011-10-17 14:50:52, 29.74 KB) / 下载次数 1914
http://tcax.org/forum.php?mod=attachment&aid=OTJ8ZmQ5ZGJmMWZ8MTczMjQ2ODQxNXwwfDA%3D


作者: dllklc    时间: 2011-10-17 20:52:42

尚未深入了解 。。不知道这个具体是干什么用的
作者: ddreamt    时间: 2011-10-18 16:12:45

不是很明白这个功能有什么用,能详细解释一下么,milk大,谢谢~
作者: milkyjing    时间: 2011-10-18 19:17:36

ddreamt 发表于 2011-10-18 16:12
不是很明白这个功能有什么用,能详细解释一下么,milk大,谢谢~


就目前来说用处不大, 因为TcasFilter的DirectShow接口尚未成熟,
以后可以用TCAS替代ASS作为外挂字幕使用 (没啥太大优势, 主要是不需要字体文件, 防止用户对文件进行修改等).

p.s. TCAS主要还是应用在特效字幕制作上的, 这个例子可以当成是最基本应用, 实际应用可参考 http://www.tcax.org/forum.php?mod=viewthread&tid=131






欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/) Powered by Discuz! X2