[Live-devel] Basic question

Ross Finlayson finlayson at live.com
Mon Nov 10 15:53:06 PST 2003


> From my encoder, I can choose to bring in full MPEG frames or, blocks of 
> say, 1400 bytes. Which would be more efficient. In the latter case I have 
> to use MPEG4VideoStreamFramer, so is it true that that would be less efficient?

Actually, you'll need to use a "MPEG4VideoStreamFramer" in either case, 
because the 'sink' object ("MPEG4ESVideoRTPSink") requires that its input 
source be a "MPEG4VideoStreamFramer" (because it looks for special MPEG-4 
specific parameters that only "MPEG4VideoStreamFramer" supplies).

However, you still have a choice between having your 
"MPEG4VideoStreamFramer" read full MPEG frames, or fixed size (e.g., 1400 
byte) blocks.  Both will work, but I suggest reading full MPEG frames, as 
this will be slightly more efficient (by making the framer's job easier).

>BTW: Why is ByteStreamFileSource derived from the Framed*Source classes? 
>Would it make more sense to have a ByteStream*Source from an "unframed 
>source" class?

The distinction between 'framed' and 'unframed' sources was one that I made 
when I first designed the class hierarchy, but the distinction now turns 
out to be meaningless - because every source class ends up being derived 
from "FramedSource".  In practice, a "FramedSource" means only that it 
supports the "getNextFrame()" operation, to read a discrete chunk of data.

>Ok. All I wanted to confirm is that Live is compatible with Quicktime in 
>general.

IMHO, if this is all you want to do, then the easiest way for you to check 
this is to first read some raw MPEG-4 data from your encoder device into a 
file (named "test.m4v), and then run the existing "testMPEG4VideoStreamer" 
application (and then try reading the stream using QuickTime Player).

This will enable you to figure out quickly whether QuickTime Player will 
play a stream from your encoder.  If it does, you can then put in the extra 
effort to make your encoder use the LIVE.COM libraries.


	Ross Finlayson
	LIVE.COM
	<http://www.live.com/>



More information about the live-devel mailing list