Summary: | ASTERISK-08425: [patch] enable MPEG4 Part 2 video codec pass-through | ||
Reporter: | Emmanuel BUU (neutrino88) | Labels: | |
Date Opened: | 2006-12-23 15:28:16.000-0600 | Date Closed: | 2007-01-08 05:50:22.000-0600 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_sip/Video |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) all_changes.patch | |
Description: | A codec to enable pass through support for MPEG4 video codec (MPEG4 part 2). Not to be confused with H.264. We had to do this for our services. ****** ADDITIONAL INFORMATION ****** To enable MPEG4 video support for a SIP peer / user, just add in the relevant section of sip.conf allow=mpeg4 | ||
Comments: | By: Olle Johansson (oej) 2006-12-27 08:30:34.000-0600 This is a new feature that can be added only to svn trunk. Will look into this. Thank you! By: Olle Johansson (oej) 2006-12-27 09:33:39.000-0600 Can you also please check the videocaps branch and see if there are extra attributes needed for mpeg4? Thanks. By: Serge Vecher (serge-v) 2006-12-27 15:11:39.000-0600 in this line: + { 1, AST_FORMAT_MP4_VIDEO, "mpeg4", "MPEG4 Video" }, /*!< 23: Passthrough support, see format_h263.c */ is the comment actually appropriate? Also, should this be expanded a bit to say MPEG4 Part 2 Video? By: Emmanuel BUU (neutrino88) 2006-12-28 04:34:23.000-0600 >Can you also please check the videocaps branch and see if there are extra attributes needed for mpeg4 Yes, early 2007. Which C files needs to be checked in particular ? >is the comment actually appropriate? Also, should this be expanded a bit to say MPEG4 Part 2 Video? The comment seems appropriate. For codec name, I would suggest "MPEG4 Part 2 Video codecs" By: Emmanuel BUU (neutrino88) 2006-12-28 15:25:08.000-0600 Reviewed videocaps branch. Capabilties parameters are the same than H.264 (not so surprizing) except that there is no packetisation parameter. For profile IDsdefinition, three profiles are defined Simple Profile = 1 Core Profile = 34 Advanced Simple Profile = 145 Here is the relevant extract from the RFC3016: 5.2 SDP usage of MPEG-4 Visual The MIME media type video/MP4V-ES string is mapped to fields in the Session Description Protocol (SDP), RFC 2327, as follows: o The MIME type (video) goes in SDP "m=" as the media name. o The MIME subtype (MP4V-ES) goes in SDP "a=rtpmap" as the encoding name. o The optional parameter "rate" goes in "a=rtpmap" as the clock rate. o The optional parameter "profile-level-id" and "config" go in the "a=fmtp" line to indicate the coder capability and configuration, respectively. These parameters are expressed as a MIME media type string, in the form of as a semicolon separated list of parameter=value pairs. The following are some examples of media representation in SDP: Simple Profile/Level 1, rate=90000(90kHz), "profile-level-id" and "config" are present in "a=fmtp" line: m=video 49170/2 RTP/AVP 98 a=rtpmap:98 MP4V-ES/90000 a=fmtp:98 profile-level-id=1;config=000001B001000001B509000001000000012 0008440FA282C2090A21F Core Profile/Level 2, rate=90000(90kHz), "profile-level-id" is present in "a=fmtp" line: m=video 49170/2 RTP/AVP 98 a=rtpmap:98 MP4V-ES/90000 a=fmtp:98 profile-level-id=34 Advance Real Time Simple Profile/Level 1, rate=90000(90kHz), "profile-level-id" is present in "a=fmtp" line: m=video 49170/2 RTP/AVP 98 a=rtpmap:98 MP4V-ES/90000 a=fmtp:98 profile-level-id=145 5.3 MIME type registration of MPEG-4 Audio MIME media type name: audio MIME subtype name: MP4A-LATM Kikuchi, et al. Standards Track [Page 15] � RFC 3016 RTP Payload Format for MPEG-4 Audio/Visual November 2000 Required parameters: rate: the rate parameter indicates the RTP time stamp clock rate. The default value is 90000. Other rates MAY be specified only if they are set to the same value as the audio sampling rate (number of samples per second). Optional parameters: profile-level-id: a decimal representation of MPEG-4 Audio Profile Level indication value defined in ISO/IEC 14496-1 ([6] and its amendments). This parameter indicates which MPEG-4 Audio tool subsets the decoder is capable of using. If this parameter is not specified in the capability exchange or session setup procedure, its default value of 30 (Natural Audio Profile/Level 1) is used. object: a decimal representation of the MPEG-4 Audio Object Type value defined in ISO/IEC 14496-3 [5]. This parameter specifies the tool to be used by the coder. It CAN be used to limit the capability within the specified "profile-level-id". bitrate: the data rate for the audio bit stream. cpresent: a boolean parameter indicates whether audio payload configuration data has been multiplexed into an RTP payload (see section 4.1). A 0 indicates the configuration data has not been multiplexed into an RTP payload, a 1 indicates that it has. The default if the parameter is omitted is 1. config: a hexadecimal representation of an octet string that expresses the audio payload configuration data "StreamMuxConfig", as defined in ISO/IEC 14496-3 [5] (see section 4.1). Configuration data is mapped onto the octet string in an MSB-first basis. The first bit of the configuration data SHALL be located at the MSB of the first octet. In the last octet, zero-padding bits, if necessary, SHALL follow the configuration data. By: Olle Johansson (oej) 2007-01-08 05:49:49.000-0600 Added to svn trunk, rev 49968. Thanks! |