一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——解码篇:(三)一个简单的rtsp播放器
2017-06-14 00:06
525 查看
该篇内容简单的将前两篇内容组合在一起,创建了2个线程,分别播放音频和视频。
至此,“解码篇”内容告一段落,接下来将介绍myRTSPClient的具体实现,以便可以更好的理解音视频的传输机制。
注:
1, 示例源码编译需要SDL和ffmpeg,具体可参见解码视频的附录二;
2, 博主编译环境为 x86_64位ubuntu 16.04,以供参考。
myRtspClient-1.2.3
ffmpeg-2.8.5
下载源码以及Makefile
编译、配置和运行同上一篇:用ffmpeg解码视频
上一篇 回目录
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解码视频
上一篇 回目录
相关文章推荐
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——解码篇:(一)用ffmpeg解码视频
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——解码篇:(二)用ffmpeg解码音频
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(七)RTP音视频传输解析层之H264传输格式
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(八)RTP音视频传输解析层之MPA传输格式
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——收流篇:(一)简介
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——收流篇:(四)example代码解析
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(五)用户接口层之提取媒体流数据
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——收流篇:(二)示例
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(一)概览
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(二)用户接口层之RtspClient类及其构造函数
- 一个基于JRTPLIB的轻量级RTSP客户端——myRTSPClient详解
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(五)用户接口层之提取媒体流数据
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——收流篇:(三)RTSP命令解析
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(三)用户接口层之RTSP命令
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(六)RTP音视频传输解析层之音视频数据传输格式
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(四)用户接口层之处理SDP报文
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(五)用户接口层之提取媒体流数据
- ROS的学习(十六)用C++写一个简单的服务器(service)和客户端(client)
- 基于ffmpeg+SDL2 实现简单rtsp播放器
- 基于live555实现简单的rtsp client