很多开发者在开发RTSP或RTMP播放器的时候,不晓得哪些event回调事件是有意义的,针对此,我们以大牛直播SDK(github)的Android平台RTSP/RTMP直播播放端为例,简单介绍下常用的event id,总的来说,有以下几个部分组成:

1. 常规网络状态显示:如开始播放、网络中断、重连、收不到媒体数据等;

2. 视频宽高信息回调:用于上层显示回调的分辨率信息;

3. 快速切换url:如播放过程中,切换其他url时,分辨率发生变化,给到回调事件;

4. 录像状态:如开始录像、录像完成;

5. 实时快照:返回快照状态和快照存放路径;

6. 数据缓冲状态:如开始buffering、buffering percent、停止buffering;

7. 流实时下载回调:显示播放rtsp或rtmp流时,实时流量,注意,这块最好是可设置回调时间间隔,防止不必要的资源消耗;

8. RTSP错误状态:如401鉴权不通过。

以下接口定义可供参考:

Android 播放端 SDK Event 回调说明

事件 ID

事件描述

EVENT_DANIULIVE_ERC_PLAYER_STARTED

开始播放

EVENT_DANIULIVE_ERC_PLAYER_CONNECTING

播放端连接中

EVENT_DANIULIVE_ERC_PLAYER_CONNECTION_FAILED

播放端连接失败

EVENT_DANIULIVE_ERC_PLAYER_CONNECTED

播放端连接成功

EVENT_DANIULIVE_ERC_PLAYER_DISCONNECTED

播放端连接断开

EVENT_DANIULIVE_ERC_PLAYER_STOP

停止播放

EVENT_DANIULIVE_ERC_PLAYER_RESOLUTION_INFO

返回视频宽、高信息

EVENT_DANIULIVE_ERC_PLAYER_NO_MEDIADATA_RECEIVED

收不到媒体数据(可能

是 URL错误)

EVENT_DANIULIVE_ERC_PLAYER_SWITCH_URL

快速切换 URL

EVENT_DANIULIVE_ERC_PLAYER_RECORDER_START_NEW_FILE

开始一个新的录像文件

(param3 返回包含录像

路径在内的录像文件

名)

EVENT_DANIULIVE_ERC_PLAYER_ONE_RECORDER_FILE_FINISHED

已生成一个录像文件

(param3 返回包含录像

路径在内的录像文件

名)

EVENT_DANIULIVE_ERC_PLAYER_CAPTURE_IMAGE

播放端实时快照

EVENT_DANIULIVE_ERC_PLAYER_START_BUFFERING

开始缓冲数据

EVENT_DANIULIVE_ERC_PLAYER_BUFFERING

缓冲中(param1 参数

会返回缓冲百分比)

EVENT_DANIULIVE_ERC_PLAYER_STOP_BUFFERING

停止缓冲数据

EVENT_DANIULIVE_ERC_PLAYER_DOWNLOAD_SPEED

返回当前 RTSP/RTMP 流

实时下载速度

EVENT_DANIULIVE_ERC_PLAYER_RTSP_STATUS_CODE

RTSP 收到错误码,可能

是用户名、密码不对

RTSP播放器或RTMP播放器常用的Evnet事件回调设计的更多相关文章

  1. 如何实现Windows平台RTMP播放器/RTSP播放器播放窗口添加OSD文字叠加

    好多开发者在做Windows平台特别是单屏多画面显示时,希望像监控摄像机一样,可以在播放画面添加OSD台标,以实现字符叠加效果,大多开发者可很轻松的实现以上效果,针对此,本文以大牛直播SDK (Git ...

  2. 开发个RTMP播放器居然这么难?RTMP播放器对标和考察指标

    好多开发者提到,RTMP播放器,不知道有哪些对标和考察指标,以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTMP的播放都面向直播场景,如果延迟过大,严重影响体验 ...

  3. Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用

     Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用 Android平台原生的SeekBar设计简单,然而,比如现在流行的一些音乐播放器的播放进度控制条,如果直接使 ...

  4. RTMP播放器开发填坑之道

    好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTMP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延 ...

  5. 关于rtsp转码rtmp播放的两种方式,客户端直接转,远程服务器转

    需求 一.场景 用户多家门店有监控探头,设备是海康的和大华的.用户总部和门店不在一个网络下,并且总部要能实时调用查看门店监控,和门店回放画面.我们知道监控摄像机获取的视频是 rtsp 流的格式. 只能 ...

  6. EasyPlayerPro windows播放器本地音频播放音量控制实现

    背景描述 作为一个播放器, 除了能播放视频和声音外,音量控制是绝对不能缺少的功能; 本文在音视频播放的基础上,增加对音量的控制: 实现流程 调用mixerGetDevCaps获取音频输出设备列表; 打 ...

  7. 22_Android中的本地音乐播放器和网络音乐播放器的编写,本地视频播放器和网络视频播放器,照相机案例,偷拍案例实现

    1 编写以下案例: 当点击了"播放"之后,在手机上的/mnt/sdcard2/natural.mp3就会播放. 2 编写布局文件activity_main.xml <Line ...

  8. H5播放器内置播放视频(兼容绝大多数安卓和ios)

    关于H5播放器内置播放视频,这个问题一直困扰我很长一段时间,qq以前提供白名单已经关闭,后来提供了同层属性的控制,或多或少也有点差强人意. 后来一次偶然发现一个非常简单的方法可以实现. 只需要给vid ...

  9. (1)H5实现音乐播放器【正在播放-歌词篇】

    近期闲来无事,就想着复习一下前端的东西,然后正好跟朋友搞了一个公共开放的音乐api接口,就想着写一个音乐播放器玩玩! 话不多说,直接上图,然后上代码 [播放器显示正在播放] 实现功能: 1:歌词随着歌 ...

随机推荐

  1. Linux-Centos快速安装Docker

    卸载之前的docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-l ...

  2. Linux yum的实现和配置

    使用yum或dnf解决rpm包的依赖关系. YUM:Yellowdog Update Modifier.是rpm的前端程序 作用:解决软件包之间的依赖关系 yum工作原理: yum 服务器存放rpm包 ...

  3. HMS Core音频编辑服务3D音频技术,助力打造沉浸式听觉盛宴

    2022年6月28日,HDD·HMS Core.Sparkle影音娱乐沙龙在线上与开发者们见面.HMS Core音频编辑服务(Audio Editor Kit)专家为大家详细分享了基于分离的3D音乐创 ...

  4. 不是吧?30秒 就能学会一个python小技巧?!

    大家好鸭!我是小熊猫 很多学习Python的朋友在项目实战中会遇到不少功能实现上的问题,有些问题并不是很难的问题,或者已经有了很好的方法来解决.当然,孰能生巧,当我们代码熟练了,自然就能总结一些好用的 ...

  5. 『现学现忘』Git后悔药 — 31、reset版本回退命令总结

    目录 1.--soft回退说明 2.--mixed回退说明 3.--hard回退说明 4.总结 在Git中进行版本回退需要使用git reset命令. 以前面文章中的示例为例,当我准备在V4版本,回退 ...

  6. 关于Thymeleaf无法取值问题

    SpringBoot2.7以前的版本在获取model中数据的时候不需要注释,2.7以后的版本需要加注释,它无法直接取存在model中的数据,不加注释的时候会爆红但是可以正常使用,这个注释的含义就是指定 ...

  7. C++学习日记:关于我决定开始学习C++的那些事

    苦恼于Python运行时感人的速度,我决定学习C++. 为了激励我自己好好地学习这门未曾谋面的编程语言,我决定在此开设专栏:C++学习日记.希望在读者们的监督下,我可以早日掌握这门语言.当然,如果那位 ...

  8. 在 IDEA 里下个五子棋不过分吧?

    大家好,我是二哥呀!今天给大家分享一个基于Netty的IDEA即时聊天插件,可以实现即时聊天.游戏对战(下棋). GitHub 地址:https://github.com/anlingyi/xecha ...

  9. @Document注解与Lombok的区别

  10. ajax03_跨域访问问题

    ajax跨域访问问题 什么是跨域访问 从一个域名去访问另一个域名的资源 或者从一个站点去访问另一个站点的资源 哪些请求方式可以发送跨域请求 超链接 form表单 传统js代码 javascript标签 ...