Re: [Vnc2swf-users] How to set FLV meta data (was Re: About FLV output.)
Status: Alpha
Brought to you by:
euske
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 > > |