高复用率的RTSPClient组件EasyRTSPClient调用说明
EasyRTSPClient 调用说明
概述
EasyRtspClient是EasyDarwin家族中针对RTSP协议的拉流组件
EasyRtspClient视频支持H264、H265、MJPEG格式,音频支持AAC、G711、G726格式, 音视频数据均通过回调函数进行回调输出, 针对市面上大部分相机做过相应测试,均能很好的兼容;
支持平台
EasyRtspClient支持Windows、Linux、 Android、 IOS平台;
调用示例
/* 帧信息定义, 在头文件中定义, 此处贴出来仅为说明帧信息 */
typedef struct
{
    unsigned int    codec;              /* 音视频格式 */
    unsigned int    type;               /* 视频帧类型 */
    unsigned char   fps;                /* 视频帧率 */
    unsigned short  width;              /* 视频宽 */
    unsigned short  height;             /* 视频高 */
    unsigned int    reserved1;          /* 保留参数1 */
    unsigned int    reserved2;          /* 保留参数2 */
    unsigned int    sample_rate;        /* 音频采样率 */
    unsigned int    channels;           /* 音频声道数 */
    unsigned int    bits_per_sample;    /* 音频采样精度 */
    unsigned int    length;             /* 音视频帧大小 */
    unsigned int    timestamp_usec;     /* 时间戳,微妙 */
    unsigned int    timestamp_sec;      /* 时间戳 秒 */
}RTSP_FRAME_INFO;
int CALLBACK __RTSPClientCallBack( int _chid, int *_chPtr, int _frameType, char *_pBuf, RTSP_FRAME_INFO *_frameInfo)
{
    if (NULL != _pBuf && NULL != _frameInfo)
    {
        if (_frameType == EASY_SDK_VIDEO_FRAME_FLAG)
        {
            //视频帧数据
        }
        else if (_frameType == EASY_SDK_AUDIO_FRAME_FLAG)
        {
            //音频帧数据
        }
    }
}
int main()
{
    Easy_RTSP_Handle    rtspHandle = NULL;
    char *url = "rtsp://192.168.1.100"
    char *username = "admin";
    char *password = "12345";
    char *lic = "6A59754D6A3469576B5A754158357059703257664575787361574A4659584E35535642445957316C636D45755A58686C567778576F50365334456468646D6C754A6B4A68596D397A595541794D4445325257467A65555268636E6470626C526C5957316C59584E35";
    EasyRTSP_Activate(lic);
    EasyRTSP_Init(&rtspHandle);
    EasyRTSP_SetCallback(rtspHandle, __RTSPClientCallBack);
    EasyRTSP_OpenStream(rtspHandle, 1, url, RTP_OVER_TCP, EASY_SDK_VIDEO_FRAME_FLAG|EASY_SDK_AUDIO_FRAME_FLAG, username, password, NULL, 1000, 0);
    printf("按回车键退出\n");
    getchar();
    EasyRTSP_CloseStream(rtspHandle);
    EasyRTSP_Deinit(&rtspHandle);
    return 0;
}
以下是我写的基于live555的两个应用:
关于EasyRTSPClient
EasyRTSPClient是一套非常稳定、易用、支持重连的RTSPClient工具,SDK形式提供,接口调用非常简单,再也不用像调用live555那样处理整个RTSP OPTIONS/DESCRIBE/SETUP/PLAY的复杂流程,担心内存释放的问题了,全平台支持(包括Windows/Linux 32&64,ARM各平台,Android,iOS),支持RTP Over TCP/UDP,支持断线重连,连续维护与迭代超过5年,能够接入市面上99%以上的IPC,调用简单且成熟稳定!
关于EasyIPCamera
EasyIPCamera是一套非常稳定、易用、支持多种平台(包括Windows/Linux 32&64,Android,ARM hisiv100/hisiv200/hisiv400等平台)的RTSP Server组件,适用于IPCamera、内网RTSP服务等小型RTSP流媒体服务器,接口调用非常简单成熟,无需关注RTSPServer中关于客户端监听接入、音视频多路复用、RTSP具体流程、RTP打包与发送等相关问题,支持多种音视频格式,再也不用像调用live555 RTSPServer那样处理整个RTSP OPTIONS/DESCRIBE/SETUP/PLAY/RTP/RTCP的复杂流程和担心内存释放的问题了!
获取更多信息
Copyright © EasyDarwin.org 2012-2017

高复用率的RTSPClient组件EasyRTSPClient调用说明的更多相关文章
- 高复用率的RTSPClient组件EasyRTSPClient设计流程概述
		EasyRTSPClient 设计过程 概述 EasyRTSPClient 基于live555构建而成. 今天讲讲EasyRTSPClient的设计过程 EasyRTSPClient,主要包括以下部分 ... 
- Java高并发 -- J.U.C.组件扩展
		Java高并发 -- J.U.C.组件扩展 主要是学习慕课网实战视频<Java并发编程入门与高并发面试>的笔记 FutureTask Future模式,核心思想是异步调用.和同步调用的区别 ... 
- RTSPClient工具EasyRTSPClient支持H.265,支持海思等各种芯片平台
		EasyRTSPClient是EasyDarwin开源流媒体团队开发.提供的一套非常稳定.易用.支持重连的RTSPClient工具,接口调用非常简单,再也不用像调用live555那样处理整个RTSP ... 
- WPF中实例化Com组件,调用组件的方法时报System.Windows.Forms.AxHost+InvalidActiveXStateException的异常
		WPF中实例化Com组件,调用组件的方法时报System.Windows.Forms.AxHost+InvalidActiveXStateException的异常 在wpf中封装Com组件时,调用组件 ... 
- 对COM 组件的调用返回了错误 HRESULT E_FAIL
		.net ppt转pdf时报以下错误: 对COM 组件的调用返回了错误 HRESULT E_FAIL 在服务器端打开PPT,选项--另存为--PDF,发现PowerPoint报了个错误: “无法找到打 ... 
- 关于vue.js  组件的调用
		包子初学vue.js,有很多不明白的地方还请大家多多指教,在组件的调用的时候,包子有点懵,因为感觉调用组件的方式非常的麻烦,每一个都要实例化,不过,通过不断询问大牛们,我找到了,动态加载组件的方法~~ ... 
- uni-app 子组件如何调用父组件的方法
		1.在父组件methods中定义一个方法: changeType:function(type){ this.typeActive = type; alert(type); } 2.在父组件引用子组件时 ... 
- vue父组件如何调用子组件的属性或方法
		常常我们需要组件的拆分,就涉及到父子调用的关系,那么父组件如何调用子组件的属性和方法呢? 子组件child <template> <div> {{msg}} </div& ... 
- Additional information: 对 COM 组件的调用返回了错误 HRESULT E_FAIL
		1:Winform应用通过mshtml操作IE浏览器DOM时,第一次运行正常,点击第二次时错误信息如下 A first chance exception of type 'System.Runtime ... 
随机推荐
- 使用Powerdesigner生成设计的数据表(一张或多张)的测试数据
			设计表完成以后,我们需要生成一些测试数据,可以直接更新到数据库中,下面我们就来试试: 第一步:建立需要的Profiles测试文件,[Model]--[Test Data Profiles],如图所示: ... 
- 深入Java—String源代码
			/* * @(#)String.java 1.204 06/06/09 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * ... 
- [Python Cookbook] Numpy Array Slicing and Indexing
			1-D Array Indexing Use bracket notation [ ] to get the value at a specific index. Remember that inde ... 
- 伪全栈工程师做的有点简陋的ui设计
			站酷:http://www.zcool.com.cn/work/ZMjEwMDIxMDA=.html 这个app 叫自我时间管理 是一个 工具 管理自己开会 购物 健身 记账等 的提醒与管理,还可 ... 
- glsl镜面水倒影的实现[转]
			http://blog.sina.com.cn/s/blog_78ea87380101ejbf.html 使用两相机,一个master相机, 主要负责场景的渲染, 另一个rtt相机, 和master相 ... 
- 使用Django快速搭建简单的数据管理后台
			使用Django快速搭建简单的数据管理后台 概述 需求描述: 数据表已建好,能可视化操作增删改查,避免直接操作数据库 简版的管理系统 环境 Windows 10 x64 Python 3.6.3 (A ... 
- DevExpress控件之LookupEdit,ComboBoxEdit
			ComboBoxEdit 1. ComBoxEdit没有DisplayMember 和 ValueMember 属性,只能获取显示的值2.当前选定值comboBoxEdit1.Propertie ... 
- Netty4.0 用户指南
			原文链接http://netty.io/wiki/user-guide-for-4.x.html 前言 Nowadays we use general purpose applications or ... 
- Python爬虫爬取美剧网站
			一直有爱看美剧的习惯,一方面锻炼一下英语听力,一方面打发一下时间.之前是能在视频网站上面在线看的,可是自从广电总局的限制令之后,进口的美剧英剧等貌似就不在像以前一样同步更新了.但是,作为一个宅diao ... 
- 阿里云 RDS实例间的数据迁移
			使用数据传输DTS可以实现两个RDS实例间的数据迁移.对于支持增量迁移的存储引擎,还可以使用DTS在源RDS实例不停服的情况下,将数据迁移到目标RDS实例.目前对于RDS不同存储引擎,只支持同构迁移( ... 
