pjsip 如何传视频?


分析如下:
SIP包有如下信息:
U 10.0.2.188:58646 -> 10.0.2.3:5060
INVITE sip:1001@10.0.2.3 SIP/2.0.
Via: SIP/2.0/UDP 10.0.2.188:58646;branch=z9hG4bK-d87543-0074f655ef39ef1f-1--d87543-;rport.
Max-Forwards: 70.
Contact: <sip:1002@10.0.2.188:58646>.
To: "1001"<sip:1001@10.0.2.3>.
From: "1002"<sip:1002@10.0.2.3>;tag=9d5a934f.
Call-ID: NTFiM2RlMDI2Zjc5OGU4MzE2ZGVmMDBlZjA4NGFkZWY..
CSeq: 1 INVITE.
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO.
Content-Type: application/sdp.
User-Agent: eyeBeam release 1011d stamp 40820.
Content-Length: 555.
.
v=0.
o=- 9 2 IN IP4 10.0.2.188.
s=CounterPath eyeBeam 1.5.
c=IN IP4 10.0.2.188.
t=0 0.
m=audio 25320 RTP/AVP 0 8 101.
a=alt:1 1 : h76PIzau cttrFJ1T 10.0.2.188 25320.
a=fmtp:101 0-15.
a=rtpmap:101 telephone-event/8000.
a=sendrecv.
a=x-rtp-session-id:17D903A695FE4D439F262A36A8BC9FB2.
m=video 4502 RTP/AVP 115 34.
a=alt:1 1 : SV/4hv3f t1772boR 10.0.2.188 4502.
a=fmtp:115 QCIF=1 CIF=1 I=1 J=1 K=1 MaxBR=1960.
a=fmtp:34 QCIF=1 MaxBR=1960.
a=rtpmap:115 H263-1998/90000.
a=rtpmap:34 H263/90000.
a=sendrecv.
a=x-rtp-session-id:FCED50798346436B8F2CE675F16CD8CB.
可以看出是通过SDP协商endpoint能力的
那如何扩展使PJSIP可以传视频呢!

pjmedia_transport_udp_attach :Create UDP stream transport from existing socket info.


1。endpoint类的pjmedia_endpt_create_sdp,创建一个描述endpoint的SDP
2。session类的pjmedia_session_info_from_sdp,通过SDP创建pjmediasession,里面调用pjmedia_stream_info_from_sdp,是通过SDP的描述创建stream。

pjmediasession定义如下:

/**
 * Session info, retrieved from a session by calling
 * #pjmedia_session_get_info().
 */
struct pjmedia_session_info
{
    /** Number of streams. */
    unsigned  stream_cnt;

    /** Individual stream info. */
    pjmedia_stream_info stream_info[PJMEDIA_MAX_SDP_MEDIA];
};

可以看到可以有多个流。
3。调用session的pjmedia_session_create里面传入pjmedia_session_info参数,这个函数创建并启动stream。
创建流pjmedia_stream_create
启动流pjmedia_stream_start
4。创建流pjmedia_stream_create
流:一个视频类型m=video/audio一个流,二个RTP session,一个rtcp session,一个media transport 用来向INTENET发送接收数据。
5.分好多种,目前不明白
 

posted @ 2009-09-16 15:49  南守拥  阅读(3279)  评论(0编辑  收藏  举报