星期二, 五月 15, 2007

在linux中将图像序列转换为视频文件

linux中的后期软件一般都不带视频文件输出,只支持序列方式。这是个老问题了,非常让人不爽的老问题。要把序列转换为视频,现在有一些软件可以完成这个工作。

avidemux2,把它放在第一位,不是说它有多好,而是第一个先想起了它。avidemux2支持的格式不多,但是一般常用的都支持。问题是不支持太长的序列,我用它导入一个1000多张的序列,结果就告诉我pipe操作错误。

ffmpeg,这个工具的文档不够详细,经常让你去看代码,然而代码里几乎没有多少有价值的注释。例子只有常用的一些,支持的格式也不少,还凑合吧。当然没有gui,传说中有个kde的gui,不过没有见过。写一个例子:

final.000.png
final.001.png
final.002.png
...
ffmpeg -i final.%03d.png -f avi -vcodec mpeg4 -r 25 -b 640k output.avi


最近的blender,最近的blender支持用ffmpeg输出,格式比ffmpeg本身要少一点,也是只有常见的格式,但是没有rm/rmvb和wmv的支持。blender的sequence的稳定性还不错,几千张的序列处理起来也没有问题。

星期四, 五月 03, 2007

小黑了一把gimp

在表达了强烈的不满之后,浪费了将近12小时,终于把gimp的painttool给hack成功了。
一个非常dirty的hack。

在maya中使用wacom数位版

在windows和macosx上这不是什么稀奇事,不过在linux上,这得看运气。
在折腾了一阵子gimp之后,也不知道为什么突然想试试maya中wacom是否有压感了,结果,没有什么比现在这个结果更让我兴奋了。真是奇迹啊!
03年7月买的这个favo410,不久就在linux中驱动成功,可是唯独maya中没有压感。这年来,几乎尝试了所有的办法,都没有结果。在highend3d上很早就有人说的maya对wacom的支持已经没有问题了,不过他们用的都是intuos级别的。没想到我的favo,今天竟然莫名其妙的就有压感了。现在还不清楚是什么原因,最有可能的就是最近把内核升级为2.6.21,因为几乎所有其它的设置都还是2.6.20时候的。
还有一点,xorg.conf中,对wacom配置了两遍,只是用了不同的名字,当然这个配置在2.6.20的时候还没有作用呢。

Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "wacom" "SendCoreEvents"
InputDevice "stylus" "SendCoreEvents"

Option "AIGLX" "false"
EndSection


Section "InputDevice"
Driver "wacom"
Identifier "wacom"
Option "Device" "/dev/input/wacom" # USB ONLY
Option "Type" "stylus"
Option "USB" "on" # USB ONLY
Option "Suppress" "0"
Option "Mode" "Absolute"
Option "PressCurve" "0,5,95,100"
Option "Threshold" "25"
EndSection


Section "InputDevice"
Driver "wacom"
Identifier "stylus"
Option "Device" "/dev/input/wacom" # USB ONLY
Option "Type" "stylus"
Option "USB" "on" # USB ONLY
Option "Suppress" "0"
Option "Mode" "Absolute"
Option "PressCurve" "0,5,95,100"
Option "Threshold" "25"
EndSection

星期三, 五月 02, 2007

糟糕的gimp

对于painting来说,gimp实在是很糟糕。有人说gimp是SB设计的给SB用的东西,这个形容很恰当。在2.3中增加了一个jitter选项,根据使用的感受,即使没有这个jitter,gimp画出来的东西也已经很jitter了。

说归说,不过我一直想办法解决gimp中抖动的问题,通过这个jitter,发现bursh位移的部分控制在gimpbrushcore.c定义的,使用 的是增量。对历史增量取平均后,出现了很大的惯性,而对历史坐标取平均后,发现gimp并不总是更新历史坐标,而且画笔经常被“挂住”,真是*& ^%$#!

然而,这些问题在mypaint中却一个也没有。
2001年有人在bugreport上提出了这个bug,但是6年过去了,这个bug仍然无人愿意解决它。gimp的开发者脑子确实有点问题。