一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——解码篇:(三)一个简单的rtsp播放器...

该篇内容简单的将前两篇内容组合在一起,创建了2个线程,分别播放音频和视频。

 1 int main(int argc, char * argv[])
 2 {
 3     RtspClient Client;
 4     pthread_t audio_th;
 5     pthread_t video_th;
 6 
 7     if(argc != 2) {
 8         cout << "Usage: " << argv[0] << " <URL>" << endl;
 9         cout << "For example: " << endl;
10         cout << argv[0] << " rtsp://127.0.0.1/ansersion" << endl;
11         return 1;
12     }   
13     signal(SIGINT , sigterm_handler); /* Interrupt (ANSI).    */
14     signal(SIGTERM, sigterm_handler); /* Termination (ANSI).  */
15     rtspClientRequest(&Client, argv[1]);
16     av_register_all();
17     if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER)) {
18         fprintf(stderr, "Could not initialize SDL - %s\n", SDL_GetError());
19         Client.DoTEARDOWN();
20         exit(1);
21     }   
22     pthread_create(&audio_th, NULL, audio_thread, (void *)&Client);
23     pthread_create(&video_th, NULL, video_thread, (void *)&Client);
24 
25     pthread_join(audio_th, NULL);
26     pthread_join(video_th, NULL);
27     Client.DoTEARDOWN();
28 
29     return 0;
30 }

至此,“解码篇”内容告一段落,接下来将介绍myRTSPClient的具体实现,以便可以更好的理解音视频的传输机制。

 

注:

1, 示例源码编译需要SDL和ffmpeg,具体可参见解码视频的附录二;

2, 博主编译环境为 x86_64位ubuntu 16.04,以供参考。

 

myRtspClient-1.2.3

ffmpeg-2.8.5

下载源码以及Makefile

 

编译、配置和运行同上一篇:用ffmpeg解码视频

 

上一篇                    回目录

转载于:https://www.cnblogs.com/ansersion/p/7004510.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值