Re: [Vnc2swf-users] Shrinking a vnc2flv file
Status: Alpha
Brought to you by:
euske
From: Josh H. <the...@gm...> - 2009-11-04 23:58:14
|
If you're familiar with image formats, then this analogy might help: jpeg : flv png : flashsv That is to say that flashsv is lossless, preserving every pixel exactly. Quite often this works out very well for screencasts where apps tend to have sections of exactly the same color and fewer colors than something like a photo. All of my screen recordings have fared far better as flashsv (smaller file size AND better quality), but that's not going to be the case 100% of the time. Without seeing your screencast specifically, I can only make some general suggestions: - Turn off wallpaper, use only a solid colored background. - Record at the native resolution (if you transcode to a smaller resolution, the antialiasing will add complexity to the image, increasing the file size -- sometimes larger than the original) - Don't drag windows around while recording unless necessary - Set your display to 8-bit color mode (or at least set vnc to 8-bit color mode) If the app you're recording has lots of graphics and motion (e.g. a web browser), then there may not be a clear winner between flv (possibly smaller) and flashsv (definitely better quality), you'll have to decide which works best for you. On Wed, Nov 4, 2009 at 5:26 PM, Brian Candler <B.C...@po...> wrote: > 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'. > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Vnc2swf-users mailing list > Vnc...@li... > https://lists.sourceforge.net/lists/listinfo/vnc2swf-users > -- http://theamigo.blogspot.com |