Changes between Version 46 and Version 47 of Video_Users_Guide


Ignore:
Timestamp:
Apr 2, 2012 12:04:42 PM (12 years ago)
Author:
nanang
Comment:

Removed 1.5x framerate suggestion in codec param.

Legend:

Unmodified
Added
Removed
Modified
  • Video_Users_Guide

    v46 v47  
    301301 
    302302pjsua_vid_codec_get_param(&codec_id, &param); 
     303 
    303304/* Modify param here */ 
     305... 
     306 
    304307pjsua_vid_codec_set_param(&codec_id, &param); 
    305308}}} 
     
    350353    Note that there is a possibility that the value will be adjusted to follow remote capability. For example, if remote signals that maximum framerate supported is 10fps and locally the encoding direction framerate is set to 30fps, then 10fps will be used. 
    351354 b. For decoding direction, two steps are needed: 
    352     1. {{{pjmedia_vid_codec_param.dec_fmt.det.vid.fps}}} should be set to the highest value expected for incoming video framerate. Note that it is even better if this is set to 1.5x (or more) of the expected incoming framerate because the renderer will use this setting for its clock and there is always possibility that remote clock runs a bit faster (clock drift), so setting it higher will avoid high latency issue caused by clock drift. 
     355    1. {{{pjmedia_vid_codec_param.dec_fmt.det.vid.fps}}} should be set to the highest value expected for incoming video framerate. 
    353356    2. signalling to remote, configured via codec specific SDP format parameter (fmtp): {{{pjmedia_vid_codec_param.dec_fmtp}}}. 
    354357       - H263-1998, maximum framerate is specified per size/resolution basis, check [http://tools.ietf.org/html/rfc4629#section-8.1.1 here] for more info. 
     
    361364param.dec_fmtp.param[n].val = pj_str("1"); 
    362365         }}} 
    363        - H264, similar to size/resolution, the framerate is implicitly specified in H264 level (check the standard specification, or http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels) and the H264 level is signalled via H264 SDP fmtp {{{profile-level-id}}}, e.g: 
     366       - H264, similar to size/resolution, the framerate is implicitly specified in H264 level (check the standard specification or [http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels this]) and the H264 level is signalled via H264 SDP fmtp {{{profile-level-id}}}, e.g: 
    364367         {{{ 
    365368/* Can receive up to 1280×720 @30fps */ 
     
    380383 
    381384Notes: 
    382  - This setting is applicable for encoding and decoding direction, currently there is no way to set asymmetric bitrate. 
     385 - This setting is applicable for encoding and decoding direction, currently there is no way to set asymmetric bitrate. By decoding direction, actually it just means that this setting will be queried when generating bandwidth info for local SDP (see next point). 
    383386 - The bitrate setting of all codecs will be enumerated and the highest value will be signalled in bandwidth info in local SDP (see ticket #1244). 
    384387 - There is a possibility that the encoding bitrate will be adjusted to follow remote bitrate setting, i.e: read from SDP bandwidth info (b=TIAS line) in remote SDP. For example, if remote signals that maximum bitrate is 128kbps and locally the bitrate is set to 512kbps, then 128kbps will be used.