如何实现最小的RTSP服务器

2025-05-21 05:58:56
推荐回答(1个)
回答(1):

//////////h264.h///////
// MPEG2RTP.h
#include
#include
//#include
#include

//#include
//#include

//#include "mem.h"

//

#define PACKET_BUFFER_END (unsigned int)0x00000000

#define MAX_RTP_PKT_LENGTH 1400

#define DEST_IP "192.168.0.30"
#define DEST_PORT 8800

#define H264 96

typedef struct
{
/**//* byte 0 */
unsigned char csrc_len:4; /**//* expect 0 */
unsigned char extension:1; /**//* expect 1, see RTP_OP below */
unsigned char padding:1; /**//* expect 0 */
unsigned char version:2; /**//* expect 2 */
/**//* byte 1 */
unsigned char payload:7; /**//* RTP_PAYLOAD_RTSP */
unsigned char marker:1; /**//* expect 1 */
/**//* bytes 2, 3 */
unsigned short seq_no;
/**//* bytes 4-7 */
unsigned long timestamp;
/**//* bytes 8-11 */
unsigned long ssrc; /**//* stream number is used here. */
} RTP_FIXED_HEADER;

typedef struct {
//byte 0
unsigned char TYPE:5;
unsigned char NRI:2;
unsigned char F:1;

} NALU_HEADER; /**//* 1 BYTES */

typedef struct {
//byte 0
unsigned char TYPE:5;
unsigned char NRI:2;
unsigned char F:1;

} FU_INDICATOR; /**//* 1 BYTES */

typedef struct {
//byte 0
unsigned char TYPE:5;
unsigned char R:1;
unsigned char E:1;
unsigned char S:1;
} FU_HEADER; /**//* 1 BYTES */