Transcript oRTP
oRTP - A RTP Library Speaker: Wei-Lin Chen Advisor: Quincy Wu Date: 2010/01/07 Outline Overview Compile oRTP oRTP function calls Demo References 2 Overview C language Includes an API to parse incoming RTCP packets Support for multiples profiles, AV (Audio/Video) profile being the one by default A packet scheduler for to send and receive packet "on time", according to their timestamp Support SRTP (Secure RTP) feature 3 Compile oRTP (windows) Download oRTP source ortp-0.16.1 (latest version) Compile /build/win32native/oRTP.vcproj Library /build/win32native/Debug/oRTP.lib Set Environment ortp_env 4 oRTP function calls void ortp_init() 初始化oRTP rtpsession * rtp_session_new(int mode) RTP_SESSION_RECVONLY RTP_SESSION_SENDONLY RTP_SESSION_SENDRECV rtp_session_set_payload_type(RtpSession *session, int paytype) 成功,則回傳0 5 PT oRTP function calls(cont.) rtp_session_set_remote_addr(RtpSession *session,char *addr, int port) 設定目標IP address跟port Sender only rtp_session_set_local_addr(RtpSession *session,char *addr, int port) 設定本機IP address跟port Receiver only 6 oRTP function calls(cont.) rtp_session_send_with_ts(RtpSession *session, char *buffer, int len, uint32 userts) 將buffer中的data裝入rtp發送到目標位址 rtp_session_recv_with_ts(RtpSession *session, char *buffer, int len, uint32 userts, int * have_more) 將接收到的rtp session放進buffer中 7 oRTP function calls(cont.) rtp_session_destroy(RtpSession * session) 結束session void ortp_exit() 結束oRTP void ortp_global_stats_display() 統計session 8 Demo Sender IP address:10.10.19.184 Port: 5566 Filename: small.wav Receiver Port: 5566 Filename: PEACE.wav 9 References RTP: A Transport Protocol for Real-Time Applications (RFC 3550) http://ms11.voip.edu.tw/%7Eweilin/paper/rfc3550.txt oRTP API documentation http://www.antisip.com/doc/ortp/index.html oRTP code review http://www.linphone.org/index.php/eng/code_review/ortp Lesser General Public License(LGPL) http://www.openfoundry.org/index.php?option=com_cont ent&Itemid=252&id=519&lang=en&task=view 10