Do you mean testMPEG4VideoStreamer.cpp as the test program? And what do you mean mean by the stack is threadsafe when only 1 thread is init. of it? Sorry but I have very limited experience with pthreads.

Jerry Johns wrote:
As a first step, you have to integrate the test application as is, as a
separate thread into your encoder application; If you can get that
running, you're already half way there - modify the main() func. In the
test app (testMPEG4VideoReceiver is it?) as a pthread entry point, and
call this in your encode demo as a pthread_create - the livemedia stack
is threadsafe when only 1 thread is init. Of it

After that, you'll have to setup shared buffers between livemedia and
your video encode threads - the output of the video encoder comes
oe.encodedBuffer, and the size is given to you too. Put this into your
shared FIFO. And yes, you'll have to make a new class that delivers data
from a FIFO for LiveMedia

From there on, you should be able to figure it out :)

Jerry Johns
Design Engineer
Nuvation Research Corp - Canada
Tel: (519) 746-2304 ext. 225
www.nuvation.com
-----Original Message-----
From: Anthony Gutierrez [mailto:[EMAIL PROTECTED] Sent: Friday, July 25, 2008 8:00 AM
To: Jerry Johns
Cc: [email protected]
Subject: Re: dm355: live555 to stream real-time video

I have the DM355 so only MPEG4 elementary stream is available to me. I have a modified MPEG4VideoStreamFramer.cpp source file (that somebody gave me, if you want it I'll send it to you) that addresses the header compatibility issues with the DM355 MPEG4 codec and live555 so I have no

problem streaming the videos, but it's a two step process. First encode & save to disk, then stream by running liveMediaServer or TestOnDemandRTSP. Could you tell me a little bit more about how you modified the test program that you used? They all seem to use inputs files, I'm guess I would need to use the buffers that contain the encoded data instead of a file object? Do you know which buffers contain

the encoded data? Also did you have to modify the ByteStreamFileSource.cpp library? That is where it looks like the fread from a file is done.

Thanks

Jerry Johns wrote:
Hey Anthony,

We've been successful in producing a real-time video/audio streaming solution for the DaVinci - we didn't use MPEG4 as the format of choice

(I don't think its header structures are compatible with LiveMedia). Our solution uses LiveMedia integrated with the video encoder application to achieve this goal. H.264 was the format we chose, and we had to write a custom packetizer for it in LiveMedia (it doesn't support it natively). We run all this under a single process so that we can control the priority of the livemedia thread (which is a hog) -

its pretty straightforward to integrate liveMedia into the encode demo

application - you have modify the test program in LiveMedia into a pthread entry point, and include that as a source file that you can build into the encode app as a separate pthread. This involves also changing the Makefile

It streams quite nicely to VLC and to Quicktime using the RTSP Server.

If you want to do MPEG4, you'll have to parse the m4v files produced by the mpeg4 codec server to see how its header structures differ from

what liveMedia expects

The RFC specs are usually the best way to figure this out

Hope it helps,

**Jerry Johns**

//Design Engineer//

//Nuvation Research Corp - Canada//

//Tel: (519) 746-2304 ext. 225//

//www.nuvation.com <http://www.nuvation.com>//


------------------------------------------------------------------------
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to