1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
| #include <stdlib.h>
| #include <stdio.h>
| #include <unistd.h>
| #include "librtsp.h"
|
|
| void StreamCallBack(int datatype, int frametype, unsigned char *data, unsigned int datalen, long userdata)
| {
| printf("userdata:%ld,datatype:%d, frametype:%d, datalen:%d\n", userdata, datatype, frametype, datalen);
|
| static FILE* fp_write = NULL;
| if (!fp_write)
| {
| fp_write = fopen("stream_callback.mp4", "wb+");
| }
| fwrite(data, sizeof(char), datalen, fp_write);
| }
|
|
| int main(int argc, char *argv[])
| {
| if (argc < 2)
| {
| printf("please write rtsp url!!!!!!!!\n");
| return -1;
| }
|
| long userdata = 1001;
| long handle = RTSPSTREAM_Open(argv[1], StreamCallBack, userdata);
|
| //µã²¥¿ØÖÆ
| if (argc >= 3)
| {
| sleep(5);
| //µã²¥²¥·Å¿ØÖÆ
| RTSPSTREAM_Contrl(handle, HIS_VIDEO_CTRL_PAUSE, 0);
| sleep(5);
| //µã²¥²¥·Å¿ØÖÆ
| RTSPSTREAM_Contrl(handle, HIS_VIDEO_CTRL_PLAY, 0);
| sleep(5);
| //µã²¥Âý·Å¿ØÖÆ
| RTSPSTREAM_Contrl(handle, HIS_VIDEO_CTRL_SLOW, 4);
| sleep(5);
| //µã²¥¿ì·Å¿ØÖÆ
| RTSPSTREAM_Contrl(handle, HIS_VIDEO_CTRL_FAST, 4);
| sleep(5);
| //µã²¥Ìø×ª¿ØÖÆ
| RTSPSTREAM_Contrl(handle, HIS_VIDEO_CTRL_JUMP, 600);
| }
| sleep(20);
| RTSPSTREAM_Close(handle);
| return 0;
| }
|
|
|
|
|