[Vnc2swf-users] pyvnc2swf feedback, fix and improvements proposal
Status: Alpha
Brought to you by:
euske
From: Andy L. <les...@ya...> - 2006-10-19 15:08:35
|
Hi, First of all thx for a great idea and implementation. I am about to make some sreencast soon and your pyvnc2swf came handy totally unexpectedly. I enjoy it even more as I work on large Python software development. I have a question, error/fix report and some improvement ideas. But first for the record versions of software I use : $ pwd /cygdrive/d/pyvnc2swf-0.8.2 $ python24 Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import pymedia >>> pymedia.__version__ '1.3.7.0' >>> import pygame >>> pygame.__version__ '1.7.1release' 1) Question: I can not find out what is the difference between SWF/Shape SWF/Video. I would like to ask you to point me at some docs explaining the difference. 2) Fix. I tried to export my SWF to MPEG and edit.py was crashing. After some investigation I realized that a bug is here: $ diff output.py~ output.py 758c758 < self.out_file.write(encFrame) --- > self.out_file.write(encFrame.data) There is a significant improvement but produced MPEG2 is large and blinks 3) Improvement proposal. The '-s scaling' option is very infeasible for MPEG since it multiplies the source resolution by the float point number factor and it is hard to get the destination resolution meeting the MPEG req (like divisible by 2). Having an option -r resolution would really help. 4) Improvement with ad hoc fix. I use the GUI/Tk version to screencast short but frequent clips. It is cumbersome to enter the password and select a new file every time. So I adds a piece of code keeping the password and numbering the file. Here it is: $ diff vnc2swf.py~ vnc2swf.py 66a67 > password=None 87c88,90 < return tkPasswordDialog('Login', --- > global password > if password is None: > password=tkPasswordDialog('Login', 89a93 > return password 128a133 > self.originalfilename=None 189a195,208 > def __update_filename(self): > if self.originalfilename is None: > self.originalfilename=self.info.filename > import os > def addc(filename,c): > return '%s%03d%s'%(filename[:-4],c,filename[-4:]) > c=0 > f=addc(self.originalfilename,c) > while os.path.exists(f): > c+=1 > f=addc(self.originalfilename,c) > print 9999,self.originalfilename,f > return f > 190a210,211 > assert self.info.filename > self.info.filename=self.__update_filename() 197d217 < assert self.info.filename Thx again for a great tool. Best regards. -- AndyL When all you have is a hammer, every problem looks like a nail. |