LIVE555 Cross-compile & Usage

1.  LIVE555Cross-Compile

a.       Modified config.armlinuxthe 1st line of ./live folder

CROSS_COMPILE?=           arm-elf-   -> CROSS_COMPILE?=       arm-none-linux-gnueabi-

b.      Generate makefile

$ ./genMakefiles armlinux

c.      Compile and generate libraries

$ make

2.   LIVE555 class introduction & usage

a.       LIVE555 libraries

LIVE555 includes UsageEnvironment.a, groupsock.a, liveMedia.a,BasicUsageEnvironment .a libs.

UsageEnvironment & BasicUsageEnvironment are used for taskscheduler and output error/waring message.

groupsock encapsulate network interfaces and sockets,forsending/receiving datagrams.

liveMedia defines a class hierarchy - rooted in the "Medium"class - for a variety of streaming media types and codecs.

b.      LIVE555 Class hierarchy structure

Ref : http://www.live555.com/liveMedia/doxygen/html/inherits.html

c.       Source and sink conception

The Sink consumption data object, for example, the receiveddata is stored to a file, the file is a Sink. Source production data objects, such as readdata via RTP. Data streamsthrough multiple 'source' and 'sink's:

'Source1' -> 'source2' (a filter) -> 'source3' (afilter) -> 'sink'

The end of the data received is the the Sink class,MediaSink is the base class of all Sink.

d.      Example:

RTP Client:  live555APIForEizoRTP receive MPEG2TS data flow

Source(SimpleRTPSource object)  ->  Sink(EizoDummySink object)

SimpleRTPSource:  RTP receive MPEG2TS streaming

EizoDummySink:  Store the MPEG2TS data to PIPE

 

RTP Server:  RTP Streamer MPEG2TSdata flow

    Source1(ByteStreamFileSourceobject) ->Source2/Filter (MPEG2TransportStreamFramer object) -> Sink(RTPSinkobject)

Just like above examples, as developers, needcreate a source class and a sink class to implement RTP Client/Server.

there are many example code in testProgs folder,developers can implement their features based on the reference code.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章