zoukankan      html  css  js  c++  java
  • 高复用率的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("按回车键退出
    ");
        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的复杂流程和担心内存释放的问题了!

    获取更多信息

    邮件:support@easydarwin.org

    WEB:www.EasyDarwin.org

    Copyright © EasyDarwin.org 2012-2017

    EasyDarwin

  • 相关阅读:
    02-线性结构2 一元多项式的乘法与加法运算
    两个堆栈实现列队
    队列的顺序存储和链式存储实现
    包含MIN函数的栈+一个数组实现两个堆栈+两个数组实现MIN栈
    利用纯java捕获和播放音频
    许令波老师的java的IO机制分析文章
    soundtouch源码分析__based on csdn :
    java桌面项目打包_by icewee_写得太棒了,直接转载了
    白化检验( 白噪声准则检验 )
    对于冯嘉礼老师定性映射理论的复习
  • 原文地址:https://www.cnblogs.com/babosa/p/7518006.html
Copyright © 2011-2022 走看看