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

 找回密码
 加入社区
查看: 3104|回复: 8

TCAS特效使用教程 讨论专用帖 [复制链接]

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2012-1-25 20:34:33 |显示全部楼层
本帖为 TCAS特效使用教程 讨论, 交流之用

Moderator

疯子

Rank: 5Rank: 5

发表于 2012-1-27 18:33:10 |显示全部楼层
弱弱的说一句...关于模块方面,有没有对里面函数的介绍呢?

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2012-1-27 19:02:15 |显示全部楼层
渣渣疯子 发表于 2012-1-27 18:33
弱弱的说一句...关于模块方面,有没有对里面函数的介绍呢?

有的, 教程第5.3节... (不过都是英文的...)

第六章会涉及到部分重要函数...

Administrator

Shanzhai Pro.

Rank: 7Rank: 7Rank: 7

发表于 2012-1-27 19:47:08 |显示全部楼层
不容易啊 居然還去弄了個 doxygen

Rank: 4

发表于 2013-2-13 14:07:19 |显示全部楼层
本帖最后由 愛萌就要控丶 于 2013-2-13 20:20 编辑

开始研究TCAS了,碰到不少麻烦。。无耻的来求助了。。。

一、
http://www.tcax.org/docs/tcas-spec.htm中,由于英语不过关,有些地方没看明白。。。

TCAS文件结构的summary中写到“Dislike videos whose data is stored in a linear time-line sequence form, the data of TCAS file (TCAS data chunks) can be stored in any order.”
里面的“视频的数据储存方式”是怎样的,那个词用翻译软件翻不出来。

还有这一段“However non-linear timing makes it inefficient to parse the TCAS file, so TCAS brings in the indexing technique to make time-line linearization possible, hence increasing performance dramatically, moreover, as a side effect of such indexing technique, multi-threading becomes possible and can be easily implemented at the parsing phase.”
是什么方式使得编译TCAS文件的效率下降了?翻译不出= =(泪目)然后引进了XX方法又有什么副作用使得多线程什么得以实现。

还有TCAS FX  。。。FX是什么的缩写呢,软件领域的基础不足啊

求解= =英语不好实在太惭愧了。。。。


二、
http://www.tcax.org/forum.php?mod=viewthread&tid=220的4.1节中,创建TCAS的方法里面:

from tcaxPy import *

def tcaxPy_User():
    # 固定的TCAS文件创建方式
    file_name = GetVal(val_OutFile) + '.tcas'
    fx_width = GetVal(val_ResolutionX)
    fx_height = GetVal(val_ResolutionY)
    fx_fps = GetVal(val_FXFPS)
    TCAS_FILE = CreateTcasFile(file_name, fx_width, fx_height, fx_fps)
    # 往TCAS文件中写入内容
    for i in range(100):
        TCAS_BUF = []    # 创建一块新缓冲区
        PIX = BlankPix(40, 40, MakeRGBA(255 - i, 2 * i, 0, 255))
        dx = (fx_width - PIX[1][0]) / 2 - PIX[0][0]
        dy = (fx_height - PIX[1][1]) / 2 - PIX[0][1]
        tcas_main(TCAS_BUF, PIX, i * 1000 / fx_fps, (i + 1) * 1000 / fx_fps, dx, dy, 0)    # 往缓冲区添加内容
        WriteTcasFile(TCAS_FILE, TCAS_BUF)     # write the buffer in memory to the file    # 将缓冲区中的内容写入到TCAS文件里
    # 关闭TCAS文件
    FinTcasFile(TCAS_FILE)


其中 dx = (fx_width - PIX[1][0]) / 2 - PIX[0][0]
        dy = (fx_height - PIX[1][1]) / 2 - PIX[0][1]
这种算法没看懂,是确定写入TCAS中的像素点的位置吗


三、
顺便再问一下,pixLibs.ImageStone中有哪些函数,有没有对应的说明能看。
比如        
PIX = pstSoftGlow(PIX_0, 10, 180, 180)    # 柔光效果, 该函数定义在pixStone.pyd模块中
这样的函数,对于后面的参数,不知道代表什么意义,很难使用啊。
但是感觉表现效果还不错。

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-2-15 11:53:20 |显示全部楼层
愛萌就要控丶 发表于 2013-2-13 14:07
开始研究TCAS了,碰到不少麻烦。。无耻的来求助了。。。

一、

Re1: 關於規格說明, 這個屬於開發文檔, 不了解也不影響使用. 不過還是可以稍微解釋一下: 視頻數據的存儲方式一般都是按照時間順序的, 即第一分鐘的視頻數據, 肯定比第二分鐘的視頻數據更靠近文件頭部. 即是說, 數據是比較有序的, 我們想要播放第n分鐘的視頻, 可以很快就定位到具體數據的存放位置. 而TCAS特效數據可以是按照任意順序寫入TCAS文件的. 我們在製作特效的時候就可以不用關心, 我後面編寫的一個特效, 在展示時間上是否一定排在前面的所有特效之後. 也就是這種時間上的無序, 導致了TCAS文件渲染效率的降低, 因為有時候可能為了生成一幀特效, 你要查找整個TCAS文件, 以挑出所有對該幀特效有貢獻的TCAS數據. 隨著TCAS開發的進行, 後來開發出了TCAS塊索引, 預渲染等技術, 來提高渲染效率. (補充: TCAS保存的是像素點數據, 每個DIP有生存時間, 坐標, 以及像素信息. 而這些DIP數據寫入到文件的時候, 可以是隨意順序的, 因為只要他的值不變, 他對特效的貢獻就不會變, 而不管他被存放到文件的哪個位置. 所以在渲染的時候, 你不知道對於第n幀, 文件中哪些DIP是有效的----處於生存期內.)

FX是特效的縮寫, AFX就是After Effects特效

Re2. 理解表達式右邊那些參與運算的變量的含義就能看得明白了.

Re3. 有的, 不完整. 去討論區看看, 建議PM "渣渣瘋子" 他和lijingjie都搞過....

Rank: 4

发表于 2013-2-15 18:21:40 |显示全部楼层
milkyjing 发表于 2013-2-15 11:53
Re1: 關於規格說明, 這個屬於開發文檔, 不了解也不影響使用. 不過還是可以稍微解釋一下: 視頻數據的存儲 ...

哦,大致了解了!谢谢奶大!
最近越发感觉到TCAS在做纹理方面的强大之处了!非常有兴趣。

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-2-15 18:26:30 |显示全部楼层
愛萌就要控丶 发表于 2013-2-15 18:21
哦,大致了解了!谢谢奶大!
最近越发感觉到TCAS在做纹理方面的强大之处了!非常有兴趣。
...

可以和水銀燈交流交流, 他貌似也在用...

Rank: 4

发表于 2013-2-15 18:40:26 |显示全部楼层
milkyjing 发表于 2013-2-15 18:26
可以和水銀燈交流交流, 他貌似也在用...

嗯,在群里找到他们了,加好友~~
您需要登录后才可以回帖 登录 | 加入社区

GitHub|TCAX 主页

GMT+8, 2019-10-16 17:07

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH