100 likes | 251 Views
Speaker: Wei-Lin Chen Advisor: Quincy Wu Date: 2010/01/07. oRTP - A RTP Library. Outline. Overview Compile oRTP oRTP function calls Demo References. Overview. C language Includes an API to parse incoming RTCP packets
E N D
Speaker: Wei-Lin Chen Advisor: Quincy Wu Date: 2010/01/07 oRTP - A RTP Library
Outline • Overview • Compile oRTP • oRTP function calls • Demo • References
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 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
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中
oRTP function calls(cont.) • rtp_session_destroy(RtpSession * session) • 結束session • void ortp_exit() • 結束oRTP • void ortp_global_stats_display() • 統計session
Demo • Sender • IP address:10.10.19.184 • Port: 5566 • Filename: small.wav • Receiver • Port: 5566 • Filename: PEACE.wav
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_content&Itemid=252&id=519&lang=en&task=view