vnc2swf-users Mailing List for vnc2swf (Page 2)
Status: Alpha
Brought to you by:
euske
You can subscribe to this list here.
2005 |
Jan
|
Feb
(1) |
Mar
(11) |
Apr
(9) |
May
(2) |
Jun
(2) |
Jul
(7) |
Aug
(32) |
Sep
(22) |
Oct
(31) |
Nov
(54) |
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(11) |
Feb
(14) |
Mar
(2) |
Apr
(6) |
May
(13) |
Jun
(10) |
Jul
(14) |
Aug
(12) |
Sep
(13) |
Oct
(62) |
Nov
(18) |
Dec
(12) |
2007 |
Jan
(13) |
Feb
(10) |
Mar
(27) |
Apr
(1) |
May
(10) |
Jun
(1) |
Jul
|
Aug
(10) |
Sep
(21) |
Oct
(15) |
Nov
(3) |
Dec
(4) |
2008 |
Jan
(4) |
Feb
(24) |
Mar
(1) |
Apr
(9) |
May
(7) |
Jun
(11) |
Jul
(10) |
Aug
(11) |
Sep
(4) |
Oct
|
Nov
(13) |
Dec
|
2009 |
Jan
(3) |
Feb
(4) |
Mar
(6) |
Apr
(37) |
May
|
Jun
(5) |
Jul
(1) |
Aug
(2) |
Sep
(1) |
Oct
|
Nov
(20) |
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
From: Brian C. <B.C...@po...> - 2009-11-04 23:26:29
|
This isn't exactly a vnc2flv problem, but I thought this would be a reasonable place to ask anyway. I have used vnc2flv to create a screencast which is 9 mins 27 secs long, at a screen size of 992 x 608. [The large screen area is because the app I'm capturing really needs this much space]. The resulting file is 19.1MB. Now, I would like to reduce the file size significantly. I am happy to reduce the picture 2:1 so that it becomes 496 x 304. I can do this using ffmpeg (*), and the picture quality is usable for my purpose: ffmpeg -i in.flv -s 496x304 -r 4 -acodec copy -y out.flv However the resultant file is still 12MB in size, even after dropping the output frame rate to 4fps! I tried outputting using the 'flashsv' codec (**): ffmpeg -i in.flv -s 496x304 -vcodec flashsv -r 4 -acodec copy -y out-flashsv.flv but now the resultant file is even larger, at 16.2MB. LAME tells me it's encoding the audio at 32kbps mono, in which case that only accounts for about 2.2MB of the total. Here's what 'ffplay -stats' says about the source file (19MB): Input #0, flv, from 'in.flv': 0KB vq= 0KB sq= 0B Duration: 00:09:26.66, start: 0.000000, bitrate: 32 kb/s Stream #0.0: Video: flashsv, bgr24, 992x608, 12 tbr, 1k tbn, 1k tbc Stream #0.1: Audio: mp3, 22050 Hz, mono, s16, 32 kb/s 23.81 A-V: 4.297 aq= 79KB vq= 498KB sq= 0B and the version shrunk as 'flv' (12MB): Input #0, flv, from 'out.flv': vq= 0KB sq= 0B Duration: 00:09:27.00, start: 0.000000, bitrate: 232 kb/s Stream #0.0: Video: flv, yuv420p, 496x304, 200 kb/s, 4 tbr, 1k tbn, 1k tbc Stream #0.1: Audio: mp3, 22050 Hz, mono, s16, 32 kb/s 23.49 A-V: -0.027 aq= 79KB vq= 170KB sq= 0B and the version shrunk as 'flashsv' (16MB): Input #0, flv, from 'out-flashsv.flv': Duration: 00:09:27.00, start: 1257374691.83 A-V: 0.000 aq= 0KB vq= 0KB 0.000000, bitrate: 232 kb/s Stream #0.0: Video: flashsv, bgr24, 496x304, 200 kb/s, 4 tbr, 1k tbn, 1k tbc Stream #0.1: Audio: mp3, 22050 Hz, mono, s16, 32 kb/s 23.00 A-V: -0.015 aq= 80KB vq= 232KB sq= 0B So, do you have any suggestions about how I could improve this? Have I missed an important option from ffmpeg? Is there a better way to shrink a vnc2flv stream? Many thanks, Brian. (*) ffmpeg is the stock version from Ubuntu Jaunty: ii ffmpeg 3:0.svn20090303-1ubuntu6 multimedia player, server and encoder ii gstreamer0.10-ffmpeg 0.10.6.2-1ubuntu2 FFmpeg plugin for GStreamer ii libavcodec-unstripped-52 3:0.svn20090303-1ubuntu2+unstripped1 ffmpeg codec library ii libavdevice52 3:0.svn20090303-1ubuntu6 ffmpeg device handling library ii libavfilter0 3:0.svn20090303-1ubuntu6 ffmpeg video filtering library ii libavformat52 3:0.svn20090303-1ubuntu6 ffmpeg file format library ii libavutil-unstripped-49 3:0.svn20090303-1ubuntu2+unstripped1 ffmpeg utility library ii libpostproc51 3:0.svn20090303-1ubuntu6 ffmpeg video postprocessing library ii libswscale0 3:0.svn20090303-1ubuntu6 ffmpeg video scaling library (**) According to Wikipedia, flash video supports two tiling codecs specifically for screencasts, so I guess that 'flashsv' is one of those. I also saw a recent posting to this list showing '-vcodec flashsv'. |
From: Brian C. <B.C...@po...> - 2009-11-04 22:34:50
|
Hi, I hope this is the right place to post about vnc2flv, the successor to pyvnc2swf. I had played with pyvnc2swf a bit a while ago, and I've now installed vnc2flv-20091103 under Ubuntu Jaunty. I have a couple of suggestions to make. (1) I found that recordwin.sh did not work out of the box, bombing out with the following exception when it tried to add the audio into the output: Traceback (most recent call last): File "/usr/local/bin/flvaddmp3.py", line 82, in <module> if __name__ == "__main__": sys.exit(main(sys.argv)) File "/usr/local/bin/flvaddmp3.py", line 79, in main mp3add(srcfile, args, outfile, force=force, debug=debug) File "/usr/local/bin/flvaddmp3.py", line 54, in mp3add audio.put(writer) File "/usr/local/lib/python2.6/dist-packages/vnc2flv/audio.py", line 174, in put flags = (0x22 | FLV_RATE[rate]) KeyError: 8000 It seems that arecord on my machine is defaulting to 8000 samples per second, and this is not one of the rates listed in FLV_RATE. I was able to workaround the problem like this: ARECORD="arecord -r22050 -fS16_LE" recordwin.sh (The -f flag is because arecord was defaulting to 8-bit audio; adding this made the sound quality *much* better) Maybe these should be the defaults? (2) As a suggestion, it would be helpful to link to some information on how to embed the resulting flash video into a HTML page. pyvnc2swf generates a .html page for you, but vnc2flv doesn't, and I didn't have any experience working with flv. Searching the web is awkward as there seem to be lots of different programs called "flvplayer" out there. So far I've settled on this: http://www.platipus.nl/flvplayer/ although I couldn't find the source code or an explicit licence. I also found flowplayer, but I want something which is truly free, even for use on a commercial website. Flowplayer's site is contradictory here - it claims to have a fully open source GPL edition, but then says you can't remove their branding?! The following commands were useful for displaying the flv files directly: ffplay xxx.flv ffplay -stats xxx.flv (also displays useful info like duration, screen size, and codecs) mplayer -vo x11 xxx.flv (for some reason, I got a blank window and lots of BadAlloc errors without the -vo flag. This is probably an issue with my laptop, an old Thinkpad X30) Anyway, many thanks for releasing and continuing to develop this software! Regards, Brian. |
From: Oscar U. <osc...@pr...> - 2009-09-25 19:06:21
|
Folks, Just FYI using ffmpeg (either x32 or x64) works great to add flv meta-tag time stops is a great success (special thanks 'TheAmigo'), in order to make it truly correct streaming flash video. This has already been mentioned in previous forum posts, but I did in fact get it to work just for add credence on the claim. If for example, you have already converted to an .flv and wanted to post-facto add time stops, the command works for this purpose. Note that the file size is increased, but can be mitigated by '-r' flag to specify a reduced frame rate. ffmpeg -i film-input.flv -vcodec flashsv -r 4 film-output.flv HTH, OSC -- An Excellent Credit Score is 750 See Yours in Just 2 Easy Steps! |
From: Daniel V. <dan...@gm...> - 2009-08-24 14:04:17
|
Yusuke Shinyama writes > I've just released the latest version of vnc2flv: > http://www.unixuser.org/~euske/python/vnc2flv/vnc2flv-20090824.tar.gz > > I've also put up a short how-to video on YouTube: > http://www.youtube.com/watch?v=DcijI6EagYI Hi, The example in docs/index.html mentions: $ flvrec.py localhost:5900 (Record a local desktop) But it looks like it should be: $ flvrec.py localhost:0 Best regards, -- Daniel Vérité PostgreSQL-powered mail user agent and storage: http://www.manitou-mail.org |
From: Yusuke S. <yu...@cs...> - 2009-08-24 02:25:38
|
Hi folks, (I'm crossposting this to both vnc2swf and vnc2flv list.) I've just released the latest version of vnc2flv: http://www.unixuser.org/~euske/python/vnc2flv/vnc2flv-20090824.tar.gz I've also put up a short how-to video on YouTube: http://www.youtube.com/watch?v=DcijI6EagYI Enjoy! Yusuke |
From: Oscar U. <osc...@pr...> - 2009-07-09 19:15:49
|
Hi Yusuke, Does it output the meta time stop tags that are useful for positioning the view bar to specific time stops? Also would it be difficult modify to read from an input vnc file and output flv? I'm using vnc2swf to output this format from a vnc recording now, but there are not meta stop tags in the resulting flv output header (mainly because I'm on a 64-bit FreeBSD OS). Thanks, OSC > ----- Original Message ----- > From: "Yusuke Shinyama" <yu...@cs...> > To: "General discussion about vnc2swf" <vnc...@li...> > Subject: [Vnc2swf-users] vnc2flv-20090628 released. > Date: Sun, 28 Jun 2009 03:50:20 -0400 > > > Hi folks, > > Just let you know I've released a new piece of software, > which is now called vnc2flv: > > http://www.unixuser.org/~euske/python/vnc2flv/index.html > > This is basically a rewrite of vnc2swf. But unlike its > predecessor, it is specialized on FLV format only, which results > in much simpler and clearner codebase. Plus, this is reasonably > lightweight. As suggested before, it uses an extension written in > C. So this is primarily for UNIX/POSIX platforms for now. I > haven't tested on Windows environments. > > I've also managed to remove all the GPLed parts, so the license of > this release is now much permissive MIT/X. > > The functionality is still limited. Annotating with audio or > editing is missing, which I'm planning to work on from > now. Anyway, if you have a time, please give it a try and let me > know any comments. > > (I've opened a new discussion list dedicated for vnc2flv, but > posting the related issues on the vnc2swf list is okay too.) > > Yusuke -- Be Yourself @ mail.com! Choose From 200+ Email Addresses Get a Free Account at www.mail.com |
From: Juazisco <haf...@gm...> - 2009-06-29 14:25:00
|
thanks, I need a streaming server for vnc2flv :D On Sun, Jun 28, 2009 at 2:50 AM, Yusuke Shinyama <yu...@cs...> wrote: > Hi folks, > > Just let you know I've released a new piece of software, > which is now called vnc2flv: > > http://www.unixuser.org/~euske/python/vnc2flv/index.html<http://www.unixuser.org/%7Eeuske/python/vnc2flv/index.html> > > This is basically a rewrite of vnc2swf. But unlike its > predecessor, it is specialized on FLV format only, which results > in much simpler and clearner codebase. Plus, this is reasonably > lightweight. As suggested before, it uses an extension written in > C. So this is primarily for UNIX/POSIX platforms for now. I > haven't tested on Windows environments. > > I've also managed to remove all the GPLed parts, so the license of > this release is now much permissive MIT/X. > > The functionality is still limited. Annotating with audio or > editing is missing, which I'm planning to work on from > now. Anyway, if you have a time, please give it a try and let me > know any comments. > > (I've opened a new discussion list dedicated for vnc2flv, but > posting the related issues on the vnc2swf list is okay too.) > > Yusuke > > > ------------------------------------------------------------------------------ > _______________________________________________ > Vnc2swf-users mailing list > Vnc...@li... > https://lists.sourceforge.net/lists/listinfo/vnc2swf-users > -- ------------------------------- Jose Quiñones Enciso Blog: http://joseq.inkax.org ------------------------------- Apesol: http://www.apesol.org ------------------------------- |
From: Yusuke S. <yu...@cs...> - 2009-06-28 07:50:27
|
Hi folks, Just let you know I've released a new piece of software, which is now called vnc2flv: http://www.unixuser.org/~euske/python/vnc2flv/index.html This is basically a rewrite of vnc2swf. But unlike its predecessor, it is specialized on FLV format only, which results in much simpler and clearner codebase. Plus, this is reasonably lightweight. As suggested before, it uses an extension written in C. So this is primarily for UNIX/POSIX platforms for now. I haven't tested on Windows environments. I've also managed to remove all the GPLed parts, so the license of this release is now much permissive MIT/X. The functionality is still limited. Annotating with audio or editing is missing, which I'm planning to work on from now. Anyway, if you have a time, please give it a try and let me know any comments. (I've opened a new discussion list dedicated for vnc2flv, but posting the related issues on the vnc2swf list is okay too.) Yusuke |
From: Yusuke S. <yu...@cs...> - 2009-06-04 10:55:49
|
On Tue, 2 Jun 2009 23:05:05 +0300, Darie Nicolae <dar...@gm...> wrote: > Im trying to convert a .swf file that is NOT generated by vnc python > program, it should work or not? No, the conversion tool works only for a swf file generataed by vnc2swf. Normally a swf file is a programmatical instruction for drawing a particular animation or graphics, the only way to convert it is to let it play in a normal browser and record the entire window as movie. Yusuke |
From: Darie N. <dar...@gm...> - 2009-06-02 20:05:10
|
Im trying to convert a .swf file that is NOT generated by vnc python program, it should work or not? It works only with the .swf files generated by the vnc? Regards, Nicolae On Tue, Jun 2, 2009 at 10:59 PM, < vnc...@li...> wrote: > Send Vnc2swf-users mailing list submissions to > vnc...@li... > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/vnc2swf-users > or, via email, send a message with subject or body 'help' to > vnc...@li... > > You can reach the person managing the list at > vnc...@li... > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Vnc2swf-users digest..." > > > Today's Topics: > > 1. Re: Project Future (Yusuke Shinyama) > 2. Re: How to set FLV meta data (was Re: About FLV output.) > (Oscar Usifer) > 3. Re: How to set FLV meta data (was Re: About FLV output.) > (The Amigo) > 4. converting swf to flv/mpeg (Darie Nicolae) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 20 Apr 2009 07:34:21 -0400 > From: Yusuke Shinyama <yu...@cs...> > Subject: Re: [Vnc2swf-users] Project Future > To: Olivier Hervieu <oli...@wa...>, General discussion > about vnc2swf <vnc...@li...> > Message-ID: <200...@ac...> > Content-Type: text/plain; charset="us-ascii" > > On Mon, 20 Apr 2009 10:15:27 +0200, Olivier Hervieu < > oli...@wa...> wrote: > > > > I'm now writing pyvncrec... i think that i will able to release > > something around the 10-15th of May > > Okay, so let's see how this plays out... > > Meanwhile, I thought writing a simple C module with Python fallback > is a pretty good idea (as some people have already pointed out). > So I might work on it along this track. If succeed, we might get rid of > other dependencies (like pygame or PIL). > > Yusuke > > > > ------------------------------ > > Message: 2 > Date: Thu, 23 Apr 2009 11:36:23 -0500 > From: "Oscar Usifer" <osc...@pr...> > Subject: Re: [Vnc2swf-users] How to set FLV meta data (was Re: About > FLV output.) > To: "General discussion about vnc2swf" > <vnc...@li...> > Message-ID: <200...@ws...> > Content-Type: text/plain; charset="iso-8859-1" > > Amigo, > > Thank you for the great info on producing FLV outputs. I attempted to > reproduce your steps, found the output is producing only a single frame. I > built ffmpeg (from ports collection in freebsd), and have been trying to get > the stream conversion to work. The problem I am seeing is that only one > output frame is produced in the resulting .flv file. What form of the > command ffmpeg do I need to use? I did look at the docs, but was not able to > decipher too well. > > Thanks, > -OSC > > zcat FILM089.vnc.gz | ./vncrec -movie /dev/stdin | ffmpeg -f yuv4mpegpipe > -i /dev/stdin -y FILM089.flv > > > [osc@builder ~]$ Xvfb :3 -screen 0 2048x1536x24 & > [1] 8921 > [osc@builder ~]$ expected keysym, got XF86KbdLightOnOff: line 70 of pc > expected keysym, got XF86KbdBrightnessDown: line 71 of pc > expected keysym, got XF86KbdBrightnessUp: line 72 of pc > Could not init font path element /usr/local/lib/X11/fonts/TTF/, removing > from list! > Could not init font path element /usr/local/lib/X11/fonts/OTF, removing > from list! > > [osc@builder ~]$ zcat FILM089.vnc.gz | ./vncrec -movie /dev/stdin | ffmpeg > -f yuv4mpegpipe -i /dev/stdin -y FILM089.flv > VNC server supports protocol version 3.3 (viewer 3.3) > VNC authentication succeeded > Desktop name "ou0b46" > Connected to VNC server, using protocol version 3.3 > VNC server default format: > 32 bits per pixel. > Least significant byte first in each pixel. > True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 > FFmpeg version SVN-r14424, Copyright (c) 2000-2008 Fabrice Bellard, et al. > configuration: --cc=cc --prefix=/usr/local --disable-debug > --enable-memalign-hack --enable-shared --enable-postproc --extra-cflags= > -I/usr/local/include --extra-ldflags=-L/usr/local/lib -la52 > --extra-libs=-pthread --enable-gpl --enable-pthreads --enable-swscale > --mandir=/usr/local/man --enable-liba52 --enable-liba52bin --disable-libfaac > --disable-libfaad --disable-libamr-nb --disable-libamr-wb --disable-mmx > --disable-libgsm --disable-libmp3lame --disable-ffplay --disable-libtheora > --disable-libvorbis --enable-libx264 --enable-libxvid > libavutil version: 49.7.0 > libavcodec version: 51.61.0 > libavformat version: 52.18.0 > libavdevice version: 52.0.0 > built on Apr 22 2009 16:42:55, gcc: 4.2.1 20070719 [FreeBSD] > Using default colormap which is TrueColor. Pixel format: > 32 bits per pixel. > Least significant byte first in each pixel. > True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 > red_mask=ff0000, green_mask=ff00, blue_mask=ff, CPU endian=0, dpy endian=0 > Image dump color channel shifts: R=16, G=8, B=0 > Dumping 18 frames for time 1.80 sec. > Input #0, yuv4mpegpipe, from '/dev/stdin': > Duration: N/A, bitrate: N/A > Stream #0.0: Video: rawvideo, yuv420p, 1189x911, 10.00 tb(r) > Output #0, flv, to 'FILM089.flv': > Stream #0.0: Video: flv, yuv420p, 1189x911, q=2-31, 200 kb/s, 10.00 > tb(c) > Stream mapping: > Stream #0.0 -> #0.0 > frame= 1 fps= 0 q=9.8 Lsize= 154kB time=0.10 bitrate=12647.0kbits/s > video:154kB audio:0kB global headers:0kB muxing overhead 0.128575% > [osc@builder ~]$ > > > > > ----- Original Message ----- > > From: "The Amigo" <the...@gm...> > > To: "General discussion about vnc2swf" < > vnc...@li...> > > Subject: Re: [Vnc2swf-users] How to set FLV meta data (was Re: About FLV > output.) > > Date: Fri, 3 Apr 2009 15:46:31 -0500 > > > > > > I used pyvnc2swf for a bit, but found that it took far too much CPU time. > > Instead, here's what I do now: > > > > 1) Use this patched vncrec: > http://aur.archlinux.org/packages.php?ID=16265 > > In addition to simply recording vnc sessions to a log file, it can > convert > > the recordings to YUV4MPEG (the twibright patch) on stdout (my patch). > > > > 2) Use ffmpeg to read the YUV4MPEG stream and write an .flv > > > > A couple of caveats however: > > - vncrec needs an X display (use Xvfb to create a virtual one, but make > > sure it's at least as large as your video) > > - flashsv is the lossless video codec that will generally produce > smaller > > files for screen recordings while maintaining perfect quality > > - if your ffmpeg doesn't have flashsv support and you have to compile > from > > source, install zlib-devel > > - scaling down the video size with ffmpeg will often result in a larger > > file size (due to the added anti-aliasing), for web-based playback, you > can > > save bandwidth by having a swf player scale the video down. > > > -- > It's News. It's Reviews. It's Interviews. It's Free. What Are You Waiting > For? > www.movieline.com > > > > > ------------------------------ > > Message: 3 > Date: Thu, 23 Apr 2009 14:06:22 -0500 > From: The Amigo <the...@gm...> > Subject: Re: [Vnc2swf-users] How to set FLV meta data (was Re: About > FLV output.) > To: Oscar Usifer <osc...@pr...> > Cc: General discussion about vnc2swf > <vnc...@li...> > Message-ID: > <41d...@ma...> > Content-Type: text/plain; charset="iso-8859-1" > > I only see a couple differences, between your command line and mine: > - I used a different codec (flashsv - lossless, and creates smaller files > for screencasts) > - I ran in 8-bit color mode (-bgr233) > - I specified the framerate as 4fps > > but I wouldn't expect any of those changes to cause the problems you've > shown. When you run Xvfb can create a virtual display as :3, do you also > export DISPLAY=:3 (since I don't see -display :3 on your vncrec command > line)? > > What I run is: > > create virtual display: > Xvfb :1 -screen 0 2560x1024x24 & > record a desktop: > vncrec -display :1 -record log.vnc -shared 10.0.1.1 -bgr233 > convert to flv: > VNCREC_MOVIE_FRAMERATE=4 vncrec -display :1 -movie log.vnc -bgr233 | > ffmpeg -i - -r 4 -vcodec flashsv log.flv > > are you using the same vncrec to record the FILM089.vnc.gz as you are to > play back in -movie mode? I've found that even from the same source, > compiling on different machines can make them incompatible. I suspect that > when this happened to me, I had one 32-bit build and one 64-bit build, but > I > didn't do enough testing to figure it out for sure. I just stuck to using > the same build of vncrec for recording and playing back. > > If none of that helps, would you mind sending me a short recording that I > can try to transcode? > > -- > The Amigo > > On Thu, Apr 23, 2009 at 11:36 AM, Oscar Usifer <osc...@pr... > >wrote: > > > Amigo, > > > > Thank you for the great info on producing FLV outputs. I attempted to > > reproduce your steps, found the output is producing only a single frame. > I > > built ffmpeg (from ports collection in freebsd), and have been trying to > get > > the stream conversion to work. The problem I am seeing is that only one > > output frame is produced in the resulting .flv file. What form of the > > command ffmpeg do I need to use? I did look at the docs, but was not able > to > > decipher too well. > > > > Thanks, > > -OSC > > > > zcat FILM089.vnc.gz | ./vncrec -movie /dev/stdin | ffmpeg -f yuv4mpegpipe > > -i /dev/stdin -y FILM089.flv > > > > > > [osc@builder ~]$ Xvfb :3 -screen 0 2048x1536x24 & > > [1] 8921 > > [osc@builder ~]$ expected keysym, got XF86KbdLightOnOff: line 70 of pc > > expected keysym, got XF86KbdBrightnessDown: line 71 of pc > > expected keysym, got XF86KbdBrightnessUp: line 72 of pc > > Could not init font path element /usr/local/lib/X11/fonts/TTF/, removing > > from list! > > Could not init font path element /usr/local/lib/X11/fonts/OTF, removing > > from list! > > > > [osc@builder ~]$ zcat FILM089.vnc.gz | ./vncrec -movie /dev/stdin | > ffmpeg > > -f yuv4mpegpipe -i /dev/stdin -y FILM089.flv > > VNC server supports protocol version 3.3 (viewer 3.3) > > VNC authentication succeeded > > Desktop name "ou0b46" > > Connected to VNC server, using protocol version 3.3 > > VNC server default format: > > 32 bits per pixel. > > Least significant byte first in each pixel. > > True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 > > FFmpeg version SVN-r14424, Copyright (c) 2000-2008 Fabrice Bellard, et > al. > > configuration: --cc=cc --prefix=/usr/local --disable-debug > > --enable-memalign-hack --enable-shared --enable-postproc --extra-cflags= > > -I/usr/local/include --extra-ldflags=-L/usr/local/lib -la52 > > --extra-libs=-pthread --enable-gpl --enable-pthreads --enable-swscale > > --mandir=/usr/local/man --enable-liba52 --enable-liba52bin > --disable-libfaac > > --disable-libfaad --disable-libamr-nb --disable-libamr-wb --disable-mmx > > --disable-libgsm --disable-libmp3lame --disable-ffplay > --disable-libtheora > > --disable-libvorbis --enable-libx264 --enable-libxvid > > libavutil version: 49.7.0 > > libavcodec version: 51.61.0 > > libavformat version: 52.18.0 > > libavdevice version: 52.0.0 > > built on Apr 22 2009 16:42:55, gcc: 4.2.1 20070719 [FreeBSD] > > Using default colormap which is TrueColor. Pixel format: > > 32 bits per pixel. > > Least significant byte first in each pixel. > > True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 > > red_mask=ff0000, green_mask=ff00, blue_mask=ff, CPU endian=0, dpy > endian=0 > > Image dump color channel shifts: R=16, G=8, B=0 > > Dumping 18 frames for time 1.80 sec. > > Input #0, yuv4mpegpipe, from '/dev/stdin': > > Duration: N/A, bitrate: N/A > > Stream #0.0: Video: rawvideo, yuv420p, 1189x911, 10.00 tb(r) > > Output #0, flv, to 'FILM089.flv': > > Stream #0.0: Video: flv, yuv420p, 1189x911, q=2-31, 200 kb/s, 10.00 > > tb(c) > > Stream mapping: > > Stream #0.0 -> #0.0 > > frame= 1 fps= 0 q=9.8 Lsize= 154kB time=0.10 > bitrate=12647.0kbits/s > > video:154kB audio:0kB global headers:0kB muxing overhead 0.128575% > > [osc@builder ~]$ > > > > > > > > > ----- Original Message ----- > > > From: "The Amigo" <the...@gm...> > > > To: "General discussion about vnc2swf" < > > vnc...@li...> > > > Subject: Re: [Vnc2swf-users] How to set FLV meta data (was Re: About > FLV > > output.) > > > Date: Fri, 3 Apr 2009 15:46:31 -0500 > > > > > > > > > I used pyvnc2swf for a bit, but found that it took far too much CPU > time. > > > Instead, here's what I do now: > > > > > > 1) Use this patched vncrec: > > http://aur.archlinux.org/packages.php?ID=16265 > > > In addition to simply recording vnc sessions to a log file, it can > > convert > > > the recordings to YUV4MPEG (the twibright patch) on stdout (my patch). > > > > > > 2) Use ffmpeg to read the YUV4MPEG stream and write an .flv > > > > > > A couple of caveats however: > > > - vncrec needs an X display (use Xvfb to create a virtual one, but > make > > > sure it's at least as large as your video) > > > - flashsv is the lossless video codec that will generally produce > > smaller > > > files for screen recordings while maintaining perfect quality > > > - if your ffmpeg doesn't have flashsv support and you have to compile > > from > > > source, install zlib-devel > > > - scaling down the video size with ffmpeg will often result in a > larger > > > file size (due to the added anti-aliasing), for web-based playback, you > > can > > > save bandwidth by having a swf player scale the video down. > > > > > > -- > > It's News. It's Reviews. It's Interviews. It's Free. What Are You Waiting > > For? > > www.movieline.com > > > > > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > Message: 4 > Date: Tue, 2 Jun 2009 22:59:13 +0300 > From: Darie Nicolae <dar...@gm...> > Subject: [Vnc2swf-users] converting swf to flv/mpeg > To: vnc...@li... > Message-ID: > <e5d...@ma...> > Content-Type: text/plain; charset="iso-8859-1" > > Hello there, im new to list but i hope you will help me, so here it is : > > i installed everything, but i cannot get the conversion work, here is the > output when i try to convert swf to .mpg > > root@vps536 [/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf]# ./edit.py -o > test.mpg vplayer.swf > Using PIL 1.1.7b1 > Using pymedia 1.3.5 > Input movie: version=9, size=480x400, framerate=30fps, frames=1, > duration=0.0s. > Output movie size: 480x400 > Scanning source swf file: vplayer.swf... > Creating MPEG: 'test.mpg': codec=mpeg2video, size=480x400, framerate=30.0 > .Traceback (most recent call last): > File "./edit.py", line 248, in ? > if __name__ == "__main__": sys.exit(main(sys.argv)) > File "./edit.py", line 243, in main > debug=debug) > File "./edit.py", line 92, in reorganize > builder.build(r) > File "/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf/output.py", line 1016, > in build > self.stream.next_frame() > File "/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf/output.py", line 808, > in next_frame > self.out_file.write(encFrame.data) > AttributeError: 'str' object has no attribute 'data' > root@vps536 [/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf]# > > > However when i try to convert SWF to FLV i get no error, but the flv > generated is 2k, empty > > root@vps536 [/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf]# ./edit.py -o > test.flv vplayer.swf > Using PIL 1.1.7b1 > Using pymedia 1.3.5 > Input movie: version=9, size=480x400, framerate=30fps, frames=1, > duration=0.0s. > Output movie size: 480x400 > Scanning source swf file: vplayer.swf... > .1 frames written (duration=0.0s) > root@vps536 [/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf]# > > > Ive tested on multiple swf files. Hope that anybody can help me with this > problem. > > Regards, > Nicolae > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > > ------------------------------------------------------------------------------ > OpenSolaris 2009.06 is a cutting edge operating system for enterprises > looking to deploy the next generation of Solaris that includes the latest > innovations from Sun and the OpenSource community. Download a copy and > enjoy capabilities such as Networking, Storage and Virtualization. > Go to: http://p.sf.net/sfu/opensolaris-get > > ------------------------------ > > _______________________________________________ > Vnc2swf-users mailing list > Vnc...@li... > https://lists.sourceforge.net/lists/listinfo/vnc2swf-users > > > End of Vnc2swf-users Digest, Vol 29, Issue 1 > ******************************************** > |
From: Darie N. <dar...@gm...> - 2009-06-02 19:59:20
|
Hello there, im new to list but i hope you will help me, so here it is : i installed everything, but i cannot get the conversion work, here is the output when i try to convert swf to .mpg root@vps536 [/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf]# ./edit.py -o test.mpg vplayer.swf Using PIL 1.1.7b1 Using pymedia 1.3.5 Input movie: version=9, size=480x400, framerate=30fps, frames=1, duration=0.0s. Output movie size: 480x400 Scanning source swf file: vplayer.swf... Creating MPEG: 'test.mpg': codec=mpeg2video, size=480x400, framerate=30.0 .Traceback (most recent call last): File "./edit.py", line 248, in ? if __name__ == "__main__": sys.exit(main(sys.argv)) File "./edit.py", line 243, in main debug=debug) File "./edit.py", line 92, in reorganize builder.build(r) File "/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf/output.py", line 1016, in build self.stream.next_frame() File "/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf/output.py", line 808, in next_frame self.out_file.write(encFrame.data) AttributeError: 'str' object has no attribute 'data' root@vps536 [/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf]# However when i try to convert SWF to FLV i get no error, but the flv generated is 2k, empty root@vps536 [/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf]# ./edit.py -o test.flv vplayer.swf Using PIL 1.1.7b1 Using pymedia 1.3.5 Input movie: version=9, size=480x400, framerate=30fps, frames=1, duration=0.0s. Output movie size: 480x400 Scanning source swf file: vplayer.swf... .1 frames written (duration=0.0s) root@vps536 [/usr/local/convert/pyvnc2swf-0.9.5/pyvnc2swf]# Ive tested on multiple swf files. Hope that anybody can help me with this problem. Regards, Nicolae |
From: The A. <the...@gm...> - 2009-04-23 19:06:27
|
I only see a couple differences, between your command line and mine: - I used a different codec (flashsv - lossless, and creates smaller files for screencasts) - I ran in 8-bit color mode (-bgr233) - I specified the framerate as 4fps but I wouldn't expect any of those changes to cause the problems you've shown. When you run Xvfb can create a virtual display as :3, do you also export DISPLAY=:3 (since I don't see -display :3 on your vncrec command line)? What I run is: create virtual display: Xvfb :1 -screen 0 2560x1024x24 & record a desktop: vncrec -display :1 -record log.vnc -shared 10.0.1.1 -bgr233 convert to flv: VNCREC_MOVIE_FRAMERATE=4 vncrec -display :1 -movie log.vnc -bgr233 | ffmpeg -i - -r 4 -vcodec flashsv log.flv are you using the same vncrec to record the FILM089.vnc.gz as you are to play back in -movie mode? I've found that even from the same source, compiling on different machines can make them incompatible. I suspect that when this happened to me, I had one 32-bit build and one 64-bit build, but I didn't do enough testing to figure it out for sure. I just stuck to using the same build of vncrec for recording and playing back. If none of that helps, would you mind sending me a short recording that I can try to transcode? -- The Amigo On Thu, Apr 23, 2009 at 11:36 AM, Oscar Usifer <osc...@pr...>wrote: > Amigo, > > Thank you for the great info on producing FLV outputs. I attempted to > reproduce your steps, found the output is producing only a single frame. I > built ffmpeg (from ports collection in freebsd), and have been trying to get > the stream conversion to work. The problem I am seeing is that only one > output frame is produced in the resulting .flv file. What form of the > command ffmpeg do I need to use? I did look at the docs, but was not able to > decipher too well. > > Thanks, > -OSC > > zcat FILM089.vnc.gz | ./vncrec -movie /dev/stdin | ffmpeg -f yuv4mpegpipe > -i /dev/stdin -y FILM089.flv > > > [osc@builder ~]$ Xvfb :3 -screen 0 2048x1536x24 & > [1] 8921 > [osc@builder ~]$ expected keysym, got XF86KbdLightOnOff: line 70 of pc > expected keysym, got XF86KbdBrightnessDown: line 71 of pc > expected keysym, got XF86KbdBrightnessUp: line 72 of pc > Could not init font path element /usr/local/lib/X11/fonts/TTF/, removing > from list! > Could not init font path element /usr/local/lib/X11/fonts/OTF, removing > from list! > > [osc@builder ~]$ zcat FILM089.vnc.gz | ./vncrec -movie /dev/stdin | ffmpeg > -f yuv4mpegpipe -i /dev/stdin -y FILM089.flv > VNC server supports protocol version 3.3 (viewer 3.3) > VNC authentication succeeded > Desktop name "ou0b46" > Connected to VNC server, using protocol version 3.3 > VNC server default format: > 32 bits per pixel. > Least significant byte first in each pixel. > True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 > FFmpeg version SVN-r14424, Copyright (c) 2000-2008 Fabrice Bellard, et al. > configuration: --cc=cc --prefix=/usr/local --disable-debug > --enable-memalign-hack --enable-shared --enable-postproc --extra-cflags= > -I/usr/local/include --extra-ldflags=-L/usr/local/lib -la52 > --extra-libs=-pthread --enable-gpl --enable-pthreads --enable-swscale > --mandir=/usr/local/man --enable-liba52 --enable-liba52bin --disable-libfaac > --disable-libfaad --disable-libamr-nb --disable-libamr-wb --disable-mmx > --disable-libgsm --disable-libmp3lame --disable-ffplay --disable-libtheora > --disable-libvorbis --enable-libx264 --enable-libxvid > libavutil version: 49.7.0 > libavcodec version: 51.61.0 > libavformat version: 52.18.0 > libavdevice version: 52.0.0 > built on Apr 22 2009 16:42:55, gcc: 4.2.1 20070719 [FreeBSD] > Using default colormap which is TrueColor. Pixel format: > 32 bits per pixel. > Least significant byte first in each pixel. > True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 > red_mask=ff0000, green_mask=ff00, blue_mask=ff, CPU endian=0, dpy endian=0 > Image dump color channel shifts: R=16, G=8, B=0 > Dumping 18 frames for time 1.80 sec. > Input #0, yuv4mpegpipe, from '/dev/stdin': > Duration: N/A, bitrate: N/A > Stream #0.0: Video: rawvideo, yuv420p, 1189x911, 10.00 tb(r) > Output #0, flv, to 'FILM089.flv': > Stream #0.0: Video: flv, yuv420p, 1189x911, q=2-31, 200 kb/s, 10.00 > tb(c) > Stream mapping: > Stream #0.0 -> #0.0 > frame= 1 fps= 0 q=9.8 Lsize= 154kB time=0.10 bitrate=12647.0kbits/s > video:154kB audio:0kB global headers:0kB muxing overhead 0.128575% > [osc@builder ~]$ > > > > > ----- Original Message ----- > > From: "The Amigo" <the...@gm...> > > To: "General discussion about vnc2swf" < > vnc...@li...> > > Subject: Re: [Vnc2swf-users] How to set FLV meta data (was Re: About FLV > output.) > > Date: Fri, 3 Apr 2009 15:46:31 -0500 > > > > > > I used pyvnc2swf for a bit, but found that it took far too much CPU time. > > Instead, here's what I do now: > > > > 1) Use this patched vncrec: > http://aur.archlinux.org/packages.php?ID=16265 > > In addition to simply recording vnc sessions to a log file, it can > convert > > the recordings to YUV4MPEG (the twibright patch) on stdout (my patch). > > > > 2) Use ffmpeg to read the YUV4MPEG stream and write an .flv > > > > A couple of caveats however: > > - vncrec needs an X display (use Xvfb to create a virtual one, but make > > sure it's at least as large as your video) > > - flashsv is the lossless video codec that will generally produce > smaller > > files for screen recordings while maintaining perfect quality > > - if your ffmpeg doesn't have flashsv support and you have to compile > from > > source, install zlib-devel > > - scaling down the video size with ffmpeg will often result in a larger > > file size (due to the added anti-aliasing), for web-based playback, you > can > > save bandwidth by having a swf player scale the video down. > > > -- > It's News. It's Reviews. It's Interviews. It's Free. What Are You Waiting > For? > www.movieline.com > > |
From: Oscar U. <osc...@pr...> - 2009-04-23 16:36:48
|
Amigo, Thank you for the great info on producing FLV outputs. I attempted to reproduce your steps, found the output is producing only a single frame. I built ffmpeg (from ports collection in freebsd), and have been trying to get the stream conversion to work. The problem I am seeing is that only one output frame is produced in the resulting .flv file. What form of the command ffmpeg do I need to use? I did look at the docs, but was not able to decipher too well. Thanks, -OSC zcat FILM089.vnc.gz | ./vncrec -movie /dev/stdin | ffmpeg -f yuv4mpegpipe -i /dev/stdin -y FILM089.flv [osc@builder ~]$ Xvfb :3 -screen 0 2048x1536x24 & [1] 8921 [osc@builder ~]$ expected keysym, got XF86KbdLightOnOff: line 70 of pc expected keysym, got XF86KbdBrightnessDown: line 71 of pc expected keysym, got XF86KbdBrightnessUp: line 72 of pc Could not init font path element /usr/local/lib/X11/fonts/TTF/, removing from list! Could not init font path element /usr/local/lib/X11/fonts/OTF, removing from list! [osc@builder ~]$ zcat FILM089.vnc.gz | ./vncrec -movie /dev/stdin | ffmpeg -f yuv4mpegpipe -i /dev/stdin -y FILM089.flv VNC server supports protocol version 3.3 (viewer 3.3) VNC authentication succeeded Desktop name "ou0b46" Connected to VNC server, using protocol version 3.3 VNC server default format: 32 bits per pixel. Least significant byte first in each pixel. True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 FFmpeg version SVN-r14424, Copyright (c) 2000-2008 Fabrice Bellard, et al. configuration: --cc=cc --prefix=/usr/local --disable-debug --enable-memalign-hack --enable-shared --enable-postproc --extra-cflags= -I/usr/local/include --extra-ldflags=-L/usr/local/lib -la52 --extra-libs=-pthread --enable-gpl --enable-pthreads --enable-swscale --mandir=/usr/local/man --enable-liba52 --enable-liba52bin --disable-libfaac --disable-libfaad --disable-libamr-nb --disable-libamr-wb --disable-mmx --disable-libgsm --disable-libmp3lame --disable-ffplay --disable-libtheora --disable-libvorbis --enable-libx264 --enable-libxvid libavutil version: 49.7.0 libavcodec version: 51.61.0 libavformat version: 52.18.0 libavdevice version: 52.0.0 built on Apr 22 2009 16:42:55, gcc: 4.2.1 20070719 [FreeBSD] Using default colormap which is TrueColor. Pixel format: 32 bits per pixel. Least significant byte first in each pixel. True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0 red_mask=ff0000, green_mask=ff00, blue_mask=ff, CPU endian=0, dpy endian=0 Image dump color channel shifts: R=16, G=8, B=0 Dumping 18 frames for time 1.80 sec. Input #0, yuv4mpegpipe, from '/dev/stdin': Duration: N/A, bitrate: N/A Stream #0.0: Video: rawvideo, yuv420p, 1189x911, 10.00 tb(r) Output #0, flv, to 'FILM089.flv': Stream #0.0: Video: flv, yuv420p, 1189x911, q=2-31, 200 kb/s, 10.00 tb(c) Stream mapping: Stream #0.0 -> #0.0 frame= 1 fps= 0 q=9.8 Lsize= 154kB time=0.10 bitrate=12647.0kbits/s video:154kB audio:0kB global headers:0kB muxing overhead 0.128575% [osc@builder ~]$ > ----- Original Message ----- > From: "The Amigo" <the...@gm...> > To: "General discussion about vnc2swf" <vnc...@li...> > Subject: Re: [Vnc2swf-users] How to set FLV meta data (was Re: About FLV output.) > Date: Fri, 3 Apr 2009 15:46:31 -0500 > > > I used pyvnc2swf for a bit, but found that it took far too much CPU time. > Instead, here's what I do now: > > 1) Use this patched vncrec: http://aur.archlinux.org/packages.php?ID=16265 > In addition to simply recording vnc sessions to a log file, it can convert > the recordings to YUV4MPEG (the twibright patch) on stdout (my patch). > > 2) Use ffmpeg to read the YUV4MPEG stream and write an .flv > > A couple of caveats however: > - vncrec needs an X display (use Xvfb to create a virtual one, but make > sure it's at least as large as your video) > - flashsv is the lossless video codec that will generally produce smaller > files for screen recordings while maintaining perfect quality > - if your ffmpeg doesn't have flashsv support and you have to compile from > source, install zlib-devel > - scaling down the video size with ffmpeg will often result in a larger > file size (due to the added anti-aliasing), for web-based playback, you can > save bandwidth by having a swf player scale the video down. -- It's News. It's Reviews. It's Interviews. It's Free. What Are You Waiting For? www.movieline.com |
From: Yusuke S. <yu...@cs...> - 2009-04-20 11:34:29
|
On Mon, 20 Apr 2009 10:15:27 +0200, Olivier Hervieu <oli...@wa...> wrote: > > I'm now writing pyvncrec... i think that i will able to release > something around the 10-15th of May Okay, so let's see how this plays out... Meanwhile, I thought writing a simple C module with Python fallback is a pretty good idea (as some people have already pointed out). So I might work on it along this track. If succeed, we might get rid of other dependencies (like pygame or PIL). Yusuke |
From: Olivier H. <oli...@wa...> - 2009-04-20 08:14:56
|
From our previous discussion, i'm agree to taking on this project, but pyvnc2swf home project and home page is defintively not the good place to be. BUT!, i think that pyvnc2swf can't diseappear because : - it's fairly used - lots of users likes what pyvnc2swf does (record, edit and play!) What we have to do is to create a new project called pyvncrec. --> fast/generic/secure vnc recorder --> tool with extensive interfaces to change the format of output movies - once pyvncrec is OK, integrate pyvncrec as a dependencies of pyvnc2swf, and focus on authoring possibilities for pyvnc2swf development. Firstly, i think that vncrec can live in the cvs of pyvnc2swf/vnc2swf before moving to his own page (google code? sourceforge?? whatever!) I'm now writing pyvncrec... i think that i will able to release something around the 10-15th of May Regards, Olivier. Yusuke Shinyama a écrit : > Hi, > > On Mon, 06 Apr 2009 11:15:11 +0200, Olivier Hervieu <oli...@wa...> wrote: > >> Unfortunately, I do not know the desires of Euske on the roadmap of the >> product ... >> > > As a matter of fact, I'm recently getting less keen on this project. > It's not like that I completely lost my interest, but simply it's not in > my top priority anymore. Maybe it changes in future, or maybe not. > > Anyway, my response for these requests are now slow. Sorry! > If someone is still interested in improving this piece of > software, I'd rather hand the project to that person and let them > develop it for suiting their own purposes. > > So, Olivier, aren't you interested in taking on this project? > Or anyone else? I can give an administrator account. > If you're not inclined to use SourceForge, it's okay to move > to other hosting sites. > Currently the main page of vnc2swf is hosted on my personal page, > so I can change that to point some other sites too. > (I'm eager to make the transision smooth to avoid users' confusion.) > > Please let me know if anyone is interested. > > Best, > Yusuke > > |
From: Toby H. <th...@ca...> - 2009-04-17 14:20:29
|
Ian Ward <ia...@ex...> wrote on 17/04/2009 09:59:46 AM: > I have a C module with a fallback to a python module in a library I > wrote. It's also nice to have a python implementation to validate the C > implementation. > > Don't fear C. C runs everywhere. If you don't want your users to need > a compiler, I'm sure you can find volunteers to run "setup.py bdist_egg" > on OSX, Windows, etc. > > Also, if your library is fast more people will use it. There is a more python-like half-way house. Check out Pyrex: http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/ >From the homepage: Pyrex lets you write code that mixes Python and C data types any way you want, and compiles it into a C extension for Python. Cheers, Toby Haynes |
From: Ian W. <ia...@ex...> - 2009-04-17 13:59:59
|
I have a C module with a fallback to a python module in a library I wrote. It's also nice to have a python implementation to validate the C implementation. Don't fear C. C runs everywhere. If you don't want your users to need a compiler, I'm sure you can find volunteers to run "setup.py bdist_egg" on OSX, Windows, etc. Also, if your library is fast more people will use it. Ian Matthias Sweertvaegher wrote: > hello, > > you could use the C library if it is found/built (check at startup), otherwise, just use the python code? :) > > matthias > btw, I use it both under linux (home) & windows (work) > >> -----Oorspronkelijk bericht----- >> Van: Yusuke Shinyama [mailto:yu...@cs...] >> Verzonden: vrijdag 17 april 2009 1:16 >> Aan: General discussion about vnc2swf >> Onderwerp: Re: [Vnc2swf-users] Project Future >> >> Hi, >> >> To create a speed-efficient recorder, we really need faster >> byte operations. >> Probably the most expensive part in the current pyvnc2swf >> implementation is >> just to convert the whole bitmap into another format. >> >> More specifically, look at line 61 in image.py: >> >> def create_image_from_string_argb(w, h, data): >> data = ''.join([ data[i+1]+data[i+2]+data[i+3]+data[i] for >> i in xrange(0, len(data), 4) ]) >> return pygame.image.fromstring(data, (w, h), 'RGBA') >> >> Now imagine a VNC server sends you a 1600x1200 bitmap (7.6MBytes) >> That's a lot of data for doing this kind of operation for each frame. >> >> For some time I was thinking of writing some external >> functions in C, which >> would be hundred times faster to do this kinda stuff. But it breaks >> the beauty of platform-independentness. This is the point >> where I was stuck. >> People would need to install a C compiler to build pyvnc2swf. >> Perhaps it's not a big problem in Linux or *BSD, but I was >> afraid it brings >> some extra trouble. I certainly expect complaints from >> Windows/Mac folks. >> >> So... how do you guys think? Maybe I should ask people what kind >> of platform they are using. If cross-platform is not a concern, I >> think this is the way to go. >> >> Yusuke >> >> >> On Thu, 16 Apr 2009 22:33:16 +0200 (CEST), Olivier Hervieu >> <oli...@wa...> wrote: >>> Great, >>> >>> TheAmigo, i think that our needs are the same ... we have >> to record several (more than 2!!) vnc session on the same computer... >>> your idea to write a ffmeg plugin is great that might >> interressed people who wants to have an authoring/transcoding >> tool shipped with pyvnc2swf. >>> So for the next week i propose that everybody interressed >> in the project of a safe and fast vncrecorder to send on this >> mailing list what should and shouldn't be the the vncrecorder. >>> I propose the same for people who are interressed in an >> authoring tool to send here what should be this vncauthoringtool. >> -------------------------------------------------------------- >> ---------------- >> Stay on top of everything new and different, both inside and >> around Java (TM) technology - register by April 22, and save >> $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. >> 300 plus technical and hands-on sessions. Register today. >> Use priority code J9JMT32. http://p.sf.net/sfu/p >> _______________________________________________ >> Vnc2swf-users mailing list >> Vnc...@li... >> https://lists.sourceforge.net/lists/listinfo/vnc2swf-users >> > ------------------------------------------------------------------------------ > Stay on top of everything new and different, both inside and > around Java (TM) technology - register by April 22, and save > $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. > 300 plus technical and hands-on sessions. Register today. > Use priority code J9JMT32. http://p.sf.net/sfu/p > _______________________________________________ > Vnc2swf-users mailing list > Vnc...@li... > https://lists.sourceforge.net/lists/listinfo/vnc2swf-users > |
From: Werner F. B. <wer...@fr...> - 2009-04-17 11:51:06
|
Matthias Sweertvaegher wrote: ... >> Probably the most expensive part in the current pyvnc2swf >> implementation is >> just to convert the whole bitmap into another format. >> >> More specifically, look at line 61 in image.py: >> >> def create_image_from_string_argb(w, h, data): >> data = ''.join([ data[i+1]+data[i+2]+data[i+3]+data[i] for >> i in xrange(0, len(data), 4) ]) >> return pygame.image.fromstring(data, (w, h), 'RGBA') >> Could something like pil.image.frombuffer or pil.image.fromstring help here (pil = Python Imaging Library). O.K. this would be a dependency but to me this would be better then having some custom c/c++ code. Werner |
From: Matthias S. <mat...@uz...> - 2009-04-17 11:11:12
|
hello, you could use the C library if it is found/built (check at startup), otherwise, just use the python code? :) matthias btw, I use it both under linux (home) & windows (work) > -----Oorspronkelijk bericht----- > Van: Yusuke Shinyama [mailto:yu...@cs...] > Verzonden: vrijdag 17 april 2009 1:16 > Aan: General discussion about vnc2swf > Onderwerp: Re: [Vnc2swf-users] Project Future > > Hi, > > To create a speed-efficient recorder, we really need faster > byte operations. > Probably the most expensive part in the current pyvnc2swf > implementation is > just to convert the whole bitmap into another format. > > More specifically, look at line 61 in image.py: > > def create_image_from_string_argb(w, h, data): > data = ''.join([ data[i+1]+data[i+2]+data[i+3]+data[i] for > i in xrange(0, len(data), 4) ]) > return pygame.image.fromstring(data, (w, h), 'RGBA') > > Now imagine a VNC server sends you a 1600x1200 bitmap (7.6MBytes) > That's a lot of data for doing this kind of operation for each frame. > > For some time I was thinking of writing some external > functions in C, which > would be hundred times faster to do this kinda stuff. But it breaks > the beauty of platform-independentness. This is the point > where I was stuck. > People would need to install a C compiler to build pyvnc2swf. > Perhaps it's not a big problem in Linux or *BSD, but I was > afraid it brings > some extra trouble. I certainly expect complaints from > Windows/Mac folks. > > So... how do you guys think? Maybe I should ask people what kind > of platform they are using. If cross-platform is not a concern, I > think this is the way to go. > > Yusuke > > > On Thu, 16 Apr 2009 22:33:16 +0200 (CEST), Olivier Hervieu > <oli...@wa...> wrote: > > Great, > > > > TheAmigo, i think that our needs are the same ... we have > to record several (more than 2!!) vnc session on the same computer... > > > > your idea to write a ffmeg plugin is great that might > interressed people who wants to have an authoring/transcoding > tool shipped with pyvnc2swf. > > > > So for the next week i propose that everybody interressed > in the project of a safe and fast vncrecorder to send on this > mailing list what should and shouldn't be the the vncrecorder. > > > > I propose the same for people who are interressed in an > authoring tool to send here what should be this vncauthoringtool. > > > > -------------------------------------------------------------- > ---------------- > Stay on top of everything new and different, both inside and > around Java (TM) technology - register by April 22, and save > $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. > 300 plus technical and hands-on sessions. Register today. > Use priority code J9JMT32. http://p.sf.net/sfu/p > _______________________________________________ > Vnc2swf-users mailing list > Vnc...@li... > https://lists.sourceforge.net/lists/listinfo/vnc2swf-users > |
From: Yusuke S. <yu...@cs...> - 2009-04-17 10:41:26
|
On Thu, 16 Apr 2009 19:26:13 -0400, Reid Ellis <ra...@tn...> wrote: > Well as mentioned before, we should be recording some sort of > compressed (gzip?) vnc stream, and then converting the data > afterwards. Actually, we could spawn a second thread that just > converts the data stream to whatever format the user has selected. In > this day of multi-core CPUs, this surely makes sense. > > Reid I don't agree. It might improve the overall response time, but it does not address the CPU hogging issue, because whether encoding is handled in a separate thread or not it still eats a lot of CPU time. Also, I feel that using multiple threads will lead a rather tricky coding technique, which I hope to avoid as much as possible. The point I was trying to make is that encoding can be done *cheaper* if we use C. Otherwise, we can anyway spend a certain amount of CPU in exchange for the pure-Python, cross-platform world. So the real question here should be whether we should abandon the cross platformness for efficiency or not. I'm not decided. It depends on what other people are using and how they think about the efficiency. Yusuke |
From: Yusuke S. <yu...@cs...> - 2009-04-17 10:23:59
|
On Fri, 17 Apr 2009 08:45:05 +0200 (CEST), Olivier Hervieu <oli...@wa...> wrote: > > To support several format, i propose that vncrec support a configuration file ... > > For exemple > > pyvncrec.conf : > > #Kind of output > [mpeg] > module=mpegenc > class=MpegOut > > [flv] > module=flvenc > class=FLVOut > > [vnc] > module=vncenc > class=VNCEnc > Well, I guess it's easier to handle settings within a Python code, rather than using yet another config file format. You can write your own settings in a file, say, config.py in Python and just make the program import it. The virtue of a scripting language is that you can use the language itself as a config parser. In my experience, it's a lot easier and bug-free. Yusuke |
From: Olivier H. <oli...@wa...> - 2009-04-17 06:45:10
|
Greetings! Okay .. i'm already in redesigning pyvnc in the following way : - a main thread that handle a connection to a vnc server and request for update, and grab the updated data. These one are put in a queue - a second thread (the encoder). That take data avalaible in the queue and encode it to the final output. - a third thread that handle the queue. The idea is to avoid frame dropping in case of very intensive encoding. The vnc session can be closed and the encoding can continue. To support several format, i propose that vncrec support a configuration file ... For exemple pyvncrec.conf : #Kind of output [mpeg] module=mpegenc class=MpegOut [flv] module=flvenc class=FLVOut [vnc] module=vncenc class=VNCEnc And on command line : pyvncrec -t flv -o output.flv will call the good encoder ... easy isn't it? So pyvncrec will provide some outputter (firstly gzipped vnc), but everybody could write his own outputter.. whatever if it is or not cross platform... the best one will be shipped with the main distribution (those who are efficient and cross platform). Regards, Olivier ----- Mail Original ----- De: "Reid Ellis" <ra...@tn...> À: "General discussion about vnc2swf" <vnc...@li...> Envoyé: Vendredi 17 Avril 2009 01h26:13 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne Objet: Re: [Vnc2swf-users] Project Future Well as mentioned before, we should be recording some sort of compressed (gzip?) vnc stream, and then converting the data afterwards. Actually, we could spawn a second thread that just converts the data stream to whatever format the user has selected. In this day of multi-core CPUs, this surely makes sense. Reid On Apr 16, 2009, at 19:15, Yusuke Shinyama wrote: > Hi, > > To create a speed-efficient recorder, we really need faster byte > operations. > Probably the most expensive part in the current pyvnc2swf > implementation is > just to convert the whole bitmap into another format. > > More specifically, look at line 61 in image.py: > > def create_image_from_string_argb(w, h, data): > data = ''.join([ data[i+1]+data[i+2]+data[i+3]+data[i] for i in > xrange(0, len(data), 4) ]) > return pygame.image.fromstring(data, (w, h), 'RGBA') > > Now imagine a VNC server sends you a 1600x1200 bitmap (7.6MBytes) > That's a lot of data for doing this kind of operation for each frame. > > For some time I was thinking of writing some external functions in > C, which > would be hundred times faster to do this kinda stuff. But it breaks > the beauty of platform-independentness. This is the point where I > was stuck. > People would need to install a C compiler to build pyvnc2swf. > Perhaps it's not a big problem in Linux or *BSD, but I was afraid it > brings > some extra trouble. I certainly expect complaints from Windows/Mac > folks. > > So... how do you guys think? Maybe I should ask people what kind > of platform they are using. If cross-platform is not a concern, I > think this is the way to go. > > Yusuke > > > On Thu, 16 Apr 2009 22:33:16 +0200 (CEST), Olivier Hervieu <oli...@wa... > > wrote: >> Great, >> >> TheAmigo, i think that our needs are the same ... we have to record >> several (more than 2!!) vnc session on the same computer... >> >> your idea to write a ffmeg plugin is great that might interressed >> people who wants to have an authoring/transcoding tool shipped with >> pyvnc2swf. >> >> So for the next week i propose that everybody interressed in the >> project of a safe and fast vncrecorder to send on this mailing list >> what should and shouldn't be the the vncrecorder. >> >> I propose the same for people who are interressed in an authoring >> tool to send here what should be this vncauthoringtool. ------------------------------------------------------------------------------ Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p _______________________________________________ Vnc2swf-users mailing list Vnc...@li... https://lists.sourceforge.net/lists/listinfo/vnc2swf-users |
From: Reid E. <ra...@tn...> - 2009-04-16 23:26:32
|
Well as mentioned before, we should be recording some sort of compressed (gzip?) vnc stream, and then converting the data afterwards. Actually, we could spawn a second thread that just converts the data stream to whatever format the user has selected. In this day of multi-core CPUs, this surely makes sense. Reid On Apr 16, 2009, at 19:15, Yusuke Shinyama wrote: > Hi, > > To create a speed-efficient recorder, we really need faster byte > operations. > Probably the most expensive part in the current pyvnc2swf > implementation is > just to convert the whole bitmap into another format. > > More specifically, look at line 61 in image.py: > > def create_image_from_string_argb(w, h, data): > data = ''.join([ data[i+1]+data[i+2]+data[i+3]+data[i] for i in > xrange(0, len(data), 4) ]) > return pygame.image.fromstring(data, (w, h), 'RGBA') > > Now imagine a VNC server sends you a 1600x1200 bitmap (7.6MBytes) > That's a lot of data for doing this kind of operation for each frame. > > For some time I was thinking of writing some external functions in > C, which > would be hundred times faster to do this kinda stuff. But it breaks > the beauty of platform-independentness. This is the point where I > was stuck. > People would need to install a C compiler to build pyvnc2swf. > Perhaps it's not a big problem in Linux or *BSD, but I was afraid it > brings > some extra trouble. I certainly expect complaints from Windows/Mac > folks. > > So... how do you guys think? Maybe I should ask people what kind > of platform they are using. If cross-platform is not a concern, I > think this is the way to go. > > Yusuke > > > On Thu, 16 Apr 2009 22:33:16 +0200 (CEST), Olivier Hervieu <oli...@wa... > > wrote: >> Great, >> >> TheAmigo, i think that our needs are the same ... we have to record >> several (more than 2!!) vnc session on the same computer... >> >> your idea to write a ffmeg plugin is great that might interressed >> people who wants to have an authoring/transcoding tool shipped with >> pyvnc2swf. >> >> So for the next week i propose that everybody interressed in the >> project of a safe and fast vncrecorder to send on this mailing list >> what should and shouldn't be the the vncrecorder. >> >> I propose the same for people who are interressed in an authoring >> tool to send here what should be this vncauthoringtool. |
From: Yusuke S. <yu...@cs...> - 2009-04-16 23:16:09
|
Hi, To create a speed-efficient recorder, we really need faster byte operations. Probably the most expensive part in the current pyvnc2swf implementation is just to convert the whole bitmap into another format. More specifically, look at line 61 in image.py: def create_image_from_string_argb(w, h, data): data = ''.join([ data[i+1]+data[i+2]+data[i+3]+data[i] for i in xrange(0, len(data), 4) ]) return pygame.image.fromstring(data, (w, h), 'RGBA') Now imagine a VNC server sends you a 1600x1200 bitmap (7.6MBytes) That's a lot of data for doing this kind of operation for each frame. For some time I was thinking of writing some external functions in C, which would be hundred times faster to do this kinda stuff. But it breaks the beauty of platform-independentness. This is the point where I was stuck. People would need to install a C compiler to build pyvnc2swf. Perhaps it's not a big problem in Linux or *BSD, but I was afraid it brings some extra trouble. I certainly expect complaints from Windows/Mac folks. So... how do you guys think? Maybe I should ask people what kind of platform they are using. If cross-platform is not a concern, I think this is the way to go. Yusuke On Thu, 16 Apr 2009 22:33:16 +0200 (CEST), Olivier Hervieu <oli...@wa...> wrote: > Great, > > TheAmigo, i think that our needs are the same ... we have to record several (more than 2!!) vnc session on the same computer... > > your idea to write a ffmeg plugin is great that might interressed people who wants to have an authoring/transcoding tool shipped with pyvnc2swf. > > So for the next week i propose that everybody interressed in the project of a safe and fast vncrecorder to send on this mailing list what should and shouldn't be the the vncrecorder. > > I propose the same for people who are interressed in an authoring tool to send here what should be this vncauthoringtool. > |
From: Olivier H. <oli...@wa...> - 2009-04-16 20:33:28
|
Great, TheAmigo, i think that our needs are the same ... we have to record several (more than 2!!) vnc session on the same computer... your idea to write a ffmeg plugin is great that might interressed people who wants to have an authoring/transcoding tool shipped with pyvnc2swf. So for the next week i propose that everybody interressed in the project of a safe and fast vncrecorder to send on this mailing list what should and shouldn't be the the vncrecorder. I propose the same for people who are interressed in an authoring tool to send here what should be this vncauthoringtool. For the vncrecorder : - no GUI - minimal dependencies - mostly written in python (wrapper are not excluded) - full object - output only vnc stream (in a first time), with plugable interface to record in an another format. Please think for a sexy name ... For all, yusuke, your advices are welcome... ----- Mail Original ----- De: "The Amigo" <the...@gm...> À: "General discussion about vnc2swf" <vnc...@li...> Envoyé: Jeudi 16 Avril 2009 20h39:19 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne Objet: Re: [Vnc2swf-users] Project Future On Thu, Apr 16, 2009 at 12:06 PM, Olivier Hervieu < oli...@wa... > wrote: I love the idea to rename pyvnc2swf to pyvncrecorder.. and i think it sould be something like python remote recorder... because, with a modular architecture, and in the future, we will able to record remote protocols (not only vnc), and output this to several video format. I think that'd be great. vncrec hasn't been maintained in a long time and pyvncrecorder would be a welcome update... like the aforementioned eschewing of a GUI. Then there's the question of what file format to record in (assuming that ffmpeg can be used for transcoding into any other formats). For most screen captures, lossless encoding doesn't just look better, it ends up being smaller too (due to large sections of identical colors and typically few colors). While it's possible to save in something like x264 or flv losslessly, it's far, far more efficient to save a gzipped RFB (VNC's format) data stream. Trying to convert to something like x264 or flv in real time is taxing (while modern computers can easily handle this for a single recording, imagine running 40 instances -- which is what I've had to do). By comparison, gzip uses a trivial amount of CPU time. For video transcoding, instead of a custom tool that can playback/edit/convert that file (like vncrec does, but very poorly), write an input filter for ffmpeg so it can read the .vnc files and convert them to whatever you want. Then you don't have to worry about what formats you want to conver to. -- http://theamigo.blogspot.com ------------------------------------------------------------------------------ Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p _______________________________________________ Vnc2swf-users mailing list Vnc...@li... https://lists.sourceforge.net/lists/listinfo/vnc2swf-users |