[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