On Tue, 2013-07-23 at 18:49 -0700, chaojidan wrote:
> Hi.everyone,
>
> I am doing the work to improve the desktop sharing speed.
> when I study the code,I have some question?
>
>
1.in the ScreenVideoEncoder.java file,encodePixelsSVC2 function encode
> and compress the block's pixels,,but I didn't find the decoded's code
> in the applet-app.and I find out that ByteArray are encoded the
> Videodata.could flash play the encoded and compressed videodata?
Yes, SVC2 is actually "Flash Screen Video Codec 2". Flash is able to
play it back directly, so we don't need to provide any decoder.
> and I want to study the SVC2 encoder and decoder and change the
> encoded way to reduce the data.so who can tell me where could find the
> material abhout the SVC2.
Most of the information about the codec is reverse-engineered from
samples of the file format, and there aren't really any public
specifications. My understanding is that BigBlueButton's Java
implementation and FFmpeg's C implementation:
http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/flashsv2enc.c;h=1d0d1963f6f9448eb8eb228ca79fda7c3cc39efe;hb=refs/heads/master
are the only publicly available open-source codes.
> 2.I could use Lossy compression algorithms instead of lossless
> compression algorithms(Deflater)?
SVC doesn't support any lossy compression methods. If you want to use
lossy compression, you should look into using a completely different
codec (e.g. you could try using SV6 or H.264).
> 3.when I use Grayscale images instead of Color Image,I could use 8
> kinds color to instead of 256 colors,but I have to use 8 bit to
> encode,because of the byteOutputStream.
I don't think that SVC supports using any less than 8 bits per pixel.
The 8-bit per pixel format is actually 7-bits, it only uses a 128-colour
palette (not 256). It's theoretically possible that if you don't use all
128 palette entries (e.g. if you only include 8 shades of grey and no
colours in the palette), then the Deflate() compression should be more
efficient and give you smaller output.
--
Calvin Walton <
calvin...@kepstin.ca>
BigBlueButton Developer