EasyRTMPClient

EasyRTMPClient拉流功能组件是EasyDarwin流媒体团队开发、提供和维护的一套非常稳定、易用、支持重连的RTMPClient工具,SDK形式提供,全平台支持(包括Windows/Linux 32&64,Android,iOS,ARM各平台),接口简单、兼容性强、且成熟稳定!

有了librtmp为什么还要做EasyRTMPClient?主要还是可集成的程度问题,EasyRTMPClient能清晰地回调出帧率、时间戳、首帧是否为I帧、ES数据流、能保存ES进行分析,一直都是围绕着“Easy”来进行架构和设计,能最接近现实项目中的应用需求,关键是什么平台端都能用,可能是市面上唯一的!

调用示例

  • EasyRTMPClient:以RTMPClient的形式,从RTMP URL将音视频获取到本地;

    Windows编译方法,

    Visual Studio 2010 编译:./EasyRTMPClient/win/EasyRTMPClient.sln

    Linux编译方法,

    chmod +x ./Buildit
    ./Buildit

    Usage,

    --------------------------------------------------------------
    EasyRTMPClient.exe -d <rtmp-url>[ -s <save-file>]
    Help Mode: EasyRTMPClient.exe -h
    rtmp-url : source rtmp address
    save-file : yes or no, default is yes
    For example: EasyRTMPClient.exe -d rtmp://live.hkstv.hk.lxdns.com/live/hks -s yes
    --------------------------------------------------------------
  • EasyPlayer-RTMP调用EasyPlayer-RTMP是由EasyDarwin团队开发和维护的一个RTMP专用播放器项目,目前支持Windows、Android平台,iOS平台,EasyRTMPClient作为其RTMP部分功能组件,为EasyPlayer-RTMP提供稳定可靠、高兼容性的数据连接;

调用流程

RTMPSourceCallBack数据回调说明

EasyRTMPClient可以回调出多种类型的数据:

#define EASY_SDK_VIDEO_FRAME_FLAG           /* 视频帧数据 */
#define EASY_SDK_AUDIO_FRAME_FLAG /* 音频帧数据 */
#define EASY_SDK_EVENT_FRAME_FLAG /* 事件帧数据 */
#define EASY_SDK_RTP_FRAME_FLAG /* RTP帧数据 */
#define EASY_SDK_SDP_FRAME_FLAG /* SDP帧数据 */
#define EASY_SDK_MEDIA_INFO_FLAG /* 媒体类型数据 */

EASY_SDK_VIDEO_FRAME_FLAG数据可支持多种视频格式:

#define EASY_SDK_VIDEO_CODEC_H265           /* H265  */
#define EASY_SDK_VIDEO_CODEC_H264 /* H264 */

视频帧标识支持

#define EASY_SDK_VIDEO_FRAME_I              /* I帧 */
#define EASY_SDK_VIDEO_FRAME_P /* P帧 */
#define EASY_SDK_VIDEO_FRAME_B /* B帧 */
#define EASY_SDK_VIDEO_FRAME_J /* JPEG */

EASY_SDK_AUDIO_FRAME_FLAG数据可支持多种音频格式:

#define EASY_SDK_AUDIO_CODEC_AAC            /* AAC */

技术支持

获取更多信息

EasyDarwin开源流媒体服务器:www.EasyDarwin.org

EasyDSS商用流媒体解决方案:www.EasyDSS.com

EasyNVR无插件直播方案:www.EasyNVR.com

Copyright © EasyDarwin Team 2012-2018

兼容性强、简单、成熟、稳定的RTMPClient客户端拉流功能组件EasyRTMPClient的更多相关文章

  1. 【.NET Core项目实战-统一认证平台】第七章 网关篇-自定义客户端限流

    [.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章我介绍了如何在网关上增加自定义客户端授权功能,从设计到编码实现,一步一步详细讲解,相信大家也掌握了自定义中间件的开发技巧了,本篇我们 ...

  2. 更精炼更专注的RTMPClient客户端EasyRTMPClient,满足直播、转发、分析等各种需求

    现状 EasyRTMPClient,熟悉的朋友就会联想到EasyRTSPClient项目(https://github.com/EasyDSS/EasyRTSPClient),EasyRTSPClie ...

  3. Rust这种新型的语言注定火不起来,功能太强大(特性太多),还不如用成熟稳定强大的C/C++,而且生态不行、所以恶性循环

    这种新型的语言注定火不起来,功能太强大(特性太多),还不如用成熟稳定强大的C/C++,,而Golang足够简单,入门快,编译快,性能也强悍,解决了服务端开发人员的痛点,,注定被大多数人接受... go ...

  4. 跨平台c++/boost/asio 简单的HTTP POST请求 客户端模型

    作为一个呼应,写一个c++版本的同步http post客户端功能,如果你需要纯C版本,移步这里 linux下纯C简单的HTTP POST请求 客户端模型 讲解一下基本的的http post协议 通过\ ...

  5. rtmp直播拉流客户端EasyRTMPClient TCP窗口大小设计方法

    EasyRTMPClient 简介 EasyRTMPClient是EasyDarwin流媒体团队开发.提供的一套非常稳定.易用.支持重连接的RTMPClient工具,以SDK形式提供,接口调用非常简单 ...

  6. 简易RPC框架-客户端限流配置

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  7. Android BLE与终端通信(四)——实现服务器与客户端即时通讯功能

    Android BLE与终端通信(四)--实现服务器与客户端即时通讯功能 前面几篇一直在讲一些基础,其实说实话,蓝牙主要为多的还是一些概念性的东西,当你把概念都熟悉了之后,你会很简单的就可以实现一些逻 ...

  8. DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版

    前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端.客户端. 在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务 ...

  9. 扫码下单与ERP客户端锁桌功能FAQ

    一.需求场景:因为目前客户端和平台端有两套数据库,两套数据库通过网络交互信息,且双方都可以发起支付,这种结构容易造成: 1.一笔订单同时支付.一笔订单支付时未按最新订单进行支付,支付多付.支付少付的情 ...

随机推荐

  1. Codeforces Gym101473 A.Zero or One (2013-2014 ACM-ICPC Brazil Subregional Programming Contest)

    代码: #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #i ...

  2. UVA - 294 Divisors【数论/区间内约数最多的数的约数个数】

    Mathematicians love all sorts of odd properties of numbers. For instance, they consider to be an int ...

  3. 深入V8引擎-Time核心方法之win篇(1)

    上一篇的源码看得十分无趣,官方文档跟黑心棉一样渣. 这一篇讲讲windows操作系统上的时间戳实现,由于类的声明,方法解释上一篇都贴过了,所以这次直接上对应版本的代码. windows与mac很不一样 ...

  4. facebook chat 【转】

    Facebook Chat, offered a nice set of software engineering challenges: Real-time presence notificatio ...

  5. PyTorch 实现kmax-pooling

    max-pooling有很多种实现方式 (1)kmax-pooling import torch def kmax_pooling(x, dim, k): index = x.topk(k, dim= ...

  6. An Introduction to Reflection in C++

    Apr 13, 2017 Stop me if you’ve heard this one before. You are working on a messaging middleware, a g ...

  7. Storyboards Tutorial 04

    设计好后运行发现没有任何变化,是空白的.这是因为你的tableview相关的delegate方法还在.所以首先要屏蔽或者删除在PlayerDetailsViewController.m 如下的操作 # ...

  8. 如何判断自己外网IP是否为真实公网IP,以及解决方案

        如何判断本地(路由器)分配的IP是否公网IP? 公网IP:全球唯一IP地址.(公网IP又分为静态公网IP和动态公网IP,如何分辨的话,进入路由器查看连接方式pppoe连接都是动态公网IP.) ...

  9. VS2010 MFC中 Date Time Picker控件的使用

    1. 在工具箱中找到Date Time Picker控件,然后拖放到对话框上. 2. 在其属性中按自己的需求做一些设置. Format 属性:Long Date (长日期):****年**月**日 S ...

  10. 给控件做数字签名之一:将控件打包为Web发布包 [转]

    微软代码签名证书使用指南 http://www.wotrust.com/support/signcode_guide.htm 签名重要性:http://www.wotrust.com/FAQ/whyS ...