[Live-devel] Problem trying to use libavcodec and live555

Antonio Garcia buscarini at gmail.com
Mon Oct 30 03:06:18 PST 2006


First I want to five thanks to everyone for their support.

I have accomplished to pass data to MPEG1or2RTPSink, and VLC receives  
it, but it keeps waiting for a sequence start header, so it doesn't  
show anything.

So, what I do is this:

file -> ffmpeg -> MPEG1or2RTPSink

 > That can't possibly work, because "MPEG1or2VideoStreamFramer" (and
 > "MPEG1or2VideoRTPSink") expects to see *encoded* MPEG (1 or 2) video
 > data, not raw (decoded) video data.

Sorry, I didn't explain it very well. In ffmpeg I only do a call to  
av_read_frame, which delivers an AVPacket with the data still encoded.

This is the code I have:

	virtual void doGetNextFrame(){

		fFrameSize = _frame.size;
		if (fFrameSize > fMaxSize) {
			fNumTruncatedBytes = fFrameSize - fMaxSize;
			fFrameSize = fMaxSize;
		}

		memmove(fTo,_frame.data,fFrameSize);


		fDurationInMicroseconds = _frame.duration;
			

		nextTask() = envir().taskScheduler().scheduleDelayedTask(0,  
(TaskFunc*)afterGetting,this);
			
	};

Sometimes liveMedia prints this warning:

	Warning: MPEG1or2VideoRTPSink::doSpecialFrameHandling saw strange  
first 4 bytes 0x531d050f, but we're not a fragment


If I connect the ffmpeg with an MPEG1or2StreamFramer I receive  
nothing with VLC.

So, anyone knows how to pass the video sequence start header from  
ffmpeg to liveMedia?

Antonio García





More information about the live-devel mailing list