代码改变世界

一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(四)用户接口层之处理SDP报文

2017-08-23 16:25 by Ansersion, 1174 阅读, 0 推荐, 收藏, 编辑
摘要:当RTSP客户端向RTSP服务端发送DESCRIBE命令时,服务端理应当回复一条SDP报文。 该SDP报文中包含RTSP服务端的基本信息、所能提供的音视频媒体类型以及相应的负载能力,以下是一段SDP示例: RTSP/1.0 200 OK Server: VLC/2.1.6 Date: Sun, 06 阅读全文

一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(三)用户接口层之RTSP命令

2017-07-10 23:32 by Ansersion, 1311 阅读, 0 推荐, 收藏, 编辑
摘要:截至版本1.2.3,myRtspClient函数库共支持以下6个RTSP命令(RFC 2326): (1)OPTIONS (2)DESCRIBE (3)SETUP (4)PLAY (5)PAUSE (6)TEARDOWN 对应的接口函数都以“Do”开头,如“DoOPTIONS”。各个接口函数写法相似 阅读全文

一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(二)用户接口层之RtspClient类及其构造函数

2017-07-09 10:55 by Ansersion, 1600 阅读, 0 推荐, 收藏, 编辑
摘要:RtspClient类是myRTSPClient函数库所有特性集中实现的地方。 主要为用户提供: 1. RTSP协议通信接口函数,如DoOPTIONS(); 2. RTSP账号、密码设置函数,如SetUsername(); 3. 音视频码流接收函数,如GetVideoData()。 本篇主要介绍Rt 阅读全文

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

2017-06-14 00:06 by Ansersion, 2109 阅读, 0 推荐, 收藏, 编辑
摘要:该篇内容简单的将前两篇内容组合在一起,创建了2个线程,分别播放音频和视频。 至此,“解码篇”内容告一段落,接下来将介绍myRTSPClient的具体实现,以便可以更好的理解音视频的传输机制。 注: 1, 示例源码编译需要SDL和ffmpeg,具体可参见解码视频的附录二; 2, 博主编译环境为 x86 阅读全文

一个基于JRTPLIB的轻量级RTSP客户端——myRTSPClient详解

2017-06-08 23:35 by Ansersion, 7360 阅读, 0 推荐, 收藏, 编辑
摘要:myRTSPClient是一个轻量级的RTSP客户端C++函数库。 支持多平台,支持H264,H265,MPA等音视频传输。 免费开源,接口易用,配套教程与代码解析(本博客)。 适合RTSP入门学习。 适用轻量级RTSP客户端设备开发。 github库:https://github.com/Anse 阅读全文

一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(一)概览

2017-06-07 23:20 by Ansersion, 1319 阅读, 0 推荐, 收藏, 编辑
摘要:myRTSPClient主要可以分成3个部分: 1. RTSPClient用户接口层; 2. RTP 音视频传输解析层; 3. RTP传输层。 “RTSPClient用户接口层”: 包含所有myRTSPClient的外显特性,包括与RTSP服务器交互接口和音视频数据提取接口,直接供用户使用。 “RT 阅读全文

一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——解码篇:(二)用ffmpeg解码音频

2016-03-17 10:15 by Ansersion, 1702 阅读, 0 推荐, 收藏, 编辑
摘要:其实这篇的内容和(一)用ffmpeg解码视频基本是一样的,重点还是给ffmpeg指定callback函数,而这个函数是从RTSP服务端那里获取音频数据的。 这里,解码音频的示例代码量之所以比解码视频的略微复杂,主要是因为ffmpeg解码音频时要比解码视频要复杂一点,具体可以参见ffmpeg解码音频示 阅读全文

ffmpeg音频播放代码示例-avcodec_decode_audio4

2016-03-11 12:32 by Ansersion, 13319 阅读, 2 推荐, 收藏, 编辑
摘要:一、概述 最近在学习ffmpeg解码的内容,参考了官方的教程http://dranger.com/ffmpeg/tutorial03.html,结果发现这个音频解码的教程有点问题。参考了各种博客,并同时啃ffplay.c的源码,发现avcodec_decode_audio4多了一个resample( 阅读全文

一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——解码篇:(一)用ffmpeg解码视频

2016-02-23 11:30 by Ansersion, 4239 阅读, 0 推荐, 收藏, 编辑
摘要:一、概述 myRTSPClient(RTSPClient)获取音视频数据之后,接下来的工作便是将音视频数据交给解码器去解码(ffmpeg),ffmpeg解码之后于是便有了呈现在终端用户(USER)面前的视频(Video)和音频(Audio),具体过程如下图所示。 关于myRTSPClient从RTS 阅读全文

一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——收流篇:(二)示例

2015-12-28 10:53 by Ansersion, 8295 阅读, 1 推荐, 收藏, 编辑
摘要:一、搭建RTSP服务器 要想测试RTSP客户端,没有服务端怎么行呢?然而,有时候条件有限,手头并没有独立的RTSP服务器拿来用,那么我们不妨自己撘一个。 以下有2种方便的做法可供选择: 第一种:使用vlc播放器(推荐做法) 这种方法最方便,而且任何视频格式的文件都可以拿来测试,具体做法网上有很多,以 阅读全文