Il 27/10/2010 09:32, Francisco Feijoo ha scritto:
Thanks for the quick response Ross,
Note that the existing "JPEGVideoRTPSink" code already does this. You
should not have to reinvent the wheel here.
I think I should explained this better. I don't know how to obtain the
qFactor from one MJPEG image so I'm copying all the values from the
original image to the new header. And then
TestJPEGVideoSource::qFactor() returns 255. Maybe this part is wrong
and I need to calculate the Q, but how? is there an example of this
somewhere?.
Q factor is 255 if the quantization tables are dynamic. You got to
extract the quantization tables parsing the JPEG header and looking for
the "DQT" marker(s), [0xFF 0xDB as far as I remember]
The JPEG transmitting code ("JPEGVideoSource" and "JPEGVideoRTPSink")
currently don't support "Restart Marker Headers" (see RFC 2435,
section 3.1.7). You will need to update the (definition and
implementation) of these two classes to support them.
Ok, I have been thinking on other possibility. Do you know if is
possible to decode de MJPEG image to get a simpler version and remove
the restart marker headers?
--
Francisco Feijoo
Software Engineer
J2K Video Limited
W: www.j2kvideo.com <http://www.j2kvideo.com>
El 27/10/2010, a las 02:39, Ross Finlayson escribió:
I'm trying to create a rtsp server to stream MJPEG images.
Ugh. JPEG is a *terrible* codec for video streaming.
I have implemented a new TestJPEGFileServerMediaSubsession that
creates a TestJPEGVideoRTPSink.
In TestJPEGVideoRTPSink::doSpecialFrameHandling I'm adding the
quantization tables of the image into the header using
setSpecialHeaderBytes
Note that the existing "JPEGVideoRTPSink" code already does this. You
should not have to reinvent the wheel here.
This is working fine using some JPEG images, but fails with others.
I'm testing one image that has the marker 0xFF, 0xDD ( Define
Restart Interval) and I think I have to do something else seeing
this comment in the code
// Note: We assume that there are no 'restart markers'
So, what should I do with images containing restart markers and
macroblocks?
The JPEG transmitting code ("JPEGVideoSource" and "JPEGVideoRTPSink")
currently don't support "Restart Marker Headers" (see RFC 2435,
section 3.1.7). You will need to update the (definition and
implementation) of these two classes to support them.
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
--
Belloni Cristiano
Imavis Srl.
www.imavis.com <http://www.imavis.com>
bell...@imavis.com <mailto://bell...@imavis.com>
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel