• 大小: 16KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: 其他
  • 标签: RTSP  RTCP  RTP  

资源简介

最简RTSP客户端程序 详细见博客:http://blog.csdn.net/li_wen01/article/details/70260895

资源截图

代码片段和文件信息

/*============================================================================= 
#     FileName: rtspRequest.c
#         Desc: client connect to RTSP server
#       Author: licaibiao 
#   LastChange: 2017-04-19  
=============================================================================*/ 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define MAXBUF 1024

void Handel_OPTION(char *inbuffer);
void Handel_DESCRIBE(char *inbuffer int sockfd);
void Handel_SETUP(char *inbuffer int sockfd);
void Handel_PLAY(char *inbuffer int sockfdchar *sessionId);
void Handle_PAUSE(char *inbufferint sockfd char *sessionId);
void Handel_Teardown(char *inbuffer int sockfdchar *sessionId);


int   intsearch(char * buf char * searchStr int len);
int   strsearch(char * buf char * searchStr int lenchar *dest);
int   init_udpsocket(int port struct sockaddr_in *servaddr char *mcast_addr);
void  release_udpsocket(int socket_fd char *mcast_addr);
void  proc_udpsocket(int socket_fd struct sockaddr_in servaddrint flag);

char sendOPTRequstStr[] = “OPTIONS rtsp://192.168.0.6:8554/testStream RTSP/1.0\r\n“;
char userAgentStr[] = “virtual client player\r\n“;
char successfullyReplyStr[] = “RTSP/1.0 200 OK\r\n“;
char sendDESRequstStr[] = “DESCRIBE rtsp://192.168.0.6:8554/testStream RTSP/1.0\r\n“;
char sendSETUPRequstStr[] = “SETUP rtsp://192.168.0.6:8554/testStream/track1 RTSP/1.0\r\n“;
char sendPLAYRequstStr[] = “PLAY rtsp://192.168.0.6:8554/testStream/ RTSP/1.0\r\n“;
char sendTeardownRequestStr[]=“TEARDOWN rtsp://192.168.0.6:8554/testStream/ RTSP/1.0\r\n“;
char sendPauseRequestStr[]=“PAUSE rtsp://192.168.0.6:8554/testStream/ RTSP/1.0\r\n“;
char CseqHeadStr[] = “Cseq: “;
char UserHeadStr[] = “User-Agent: “;
char ApplicationHeadStr[] = “Accept: “;
char TransportHeadStr[] = “Transport: “;       
char SessionHeadStr[] = “Session: “;           
char RangeHeadStr[] = “Range: “;
int cseqCount=0;

int main(int argc char **argv)
{
    int sockfdrtpsockfdrtcpsockfd len;
    struct sockaddr_in dest;      
struct sockaddr_in RTPAddr;
    struct sockaddr_in RTCPAddr;
char serverIP[]=“192.168.0.6“;
char mcast_addr[] = “232.231.110.2“; 
    char buffer[MAXBUF + 1] = {0};
int serverPort=8554;
    int udpPort=0;

    cseqCount=0;

    /* creat socket for rtsp */
    if ((sockfd = socket(AF_INET SOCK_STREAM 0)) < 0) {      
        perror(“Socket“);
        exit(errno);
    }
    printf(“socket created\n“);

    /* init server add and port */
    bzero(&dest sizeof(dest));
    dest.sin_family = AF_INET;     
    dest.sin_port   = htons(serverPort);    
    if (inet_pton(AF_INET serverIP &dest.sin_addr) < 0 ) {           
        perror(serverIP);
        exit(errno);
    }
    printf(“address created\n“);

    /* connect to server */

评论

共有 条评论