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