Re: [Live-devel] MPEG-4 Visual configuration bits in SDPHello Ross, I would disagree that decoding SDP config bits is not needed for streaming at all.
For example, Axis 240S and 240Q video servers *do not* provide "x-dimensions" parameter in their SDP (or other similar parameters like "cliprect" or "framesize"). Thus, LIVE555 is not aware about video resolution when recording RTSP from these video servers. The width and height values must be supplied manually, which is not feasible in some cases. E.g. when recording MPEG-4 stream to AVI file, the wrong width and height values in AVI header might result in unplayable file. >From another hand, Axis 240S and 240Q video servers provide the required video >resolution info in bits "video_object_layer_width" and >"video_object_layer_height" from config parameter. Thus, config bits >parsing/decoding would be a useful feature in LIVE555. The decoding algorythm >is pretty simple and can be found in ISO/IEC 14496 Part 2 documentation in >"Visual bitstream syntax" chapter. After all, LIVE555 currently has a static function samplingFrequencyFromAudioSpecificConfig() implemented in MPEG4GenericRTPSource.cpp. That's exactly what it is doing - parsing (i.e. decoding, in other words) SDP config bits to extract frequency. This value is being used in SubsessionIOState class when recording QT movies. Kind regards, Dmitriy Petrenko ----- Original Message ----- From: Ross Finlayson To: LIVE555 Streaming Media - development & use Sent: Friday, December 10, 2010 10:07 AM Subject: Re: [Live-devel] MPEG-4 Visual configuration bits in SDP Just came across that it would be useful to have an easy-to-use decoder for MPEG-4 Visual configuration bits that are encoded in "config" parameter of SDP. Something like mpeg4vol command-line tool from mpeg4ip does. Are there any plans to implement this in the future? The 'config' parameter string is simply a string of bytes, encoded as hexadecimal digits (therefore, two hexadecimal digits per byte). We do have a function: parseGeneralConfigStr() (defined in "liveMedia/include/MPEG4LATMAudioRTPSource.hh) that will convert a 'config' string to binary. E.g., the 'config' string deadbeef would be converted to the following sequence of 4 bytes 0xDE 0xAD 0xBE 0xEF However, we don't implement any additional 'decoding' of this data (or any other MPEG-4 data), because it's not needed at all for streaming. (We don't include any audio/video decoding or encoding software.) -- 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