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
>
>
|