RTSP播放器或RTMP播放器常用的Evnet事件回调设计
很多开发者在开发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事件回调设计的更多相关文章
- 如何实现Windows平台RTMP播放器/RTSP播放器播放窗口添加OSD文字叠加
好多开发者在做Windows平台特别是单屏多画面显示时,希望像监控摄像机一样,可以在播放画面添加OSD台标,以实现字符叠加效果,大多开发者可很轻松的实现以上效果,针对此,本文以大牛直播SDK (Git ...
- 开发个RTMP播放器居然这么难?RTMP播放器对标和考察指标
好多开发者提到,RTMP播放器,不知道有哪些对标和考察指标,以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTMP的播放都面向直播场景,如果延迟过大,严重影响体验 ...
- Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用
Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用 Android平台原生的SeekBar设计简单,然而,比如现在流行的一些音乐播放器的播放进度控制条,如果直接使 ...
- RTMP播放器开发填坑之道
好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTMP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延 ...
- 关于rtsp转码rtmp播放的两种方式,客户端直接转,远程服务器转
需求 一.场景 用户多家门店有监控探头,设备是海康的和大华的.用户总部和门店不在一个网络下,并且总部要能实时调用查看门店监控,和门店回放画面.我们知道监控摄像机获取的视频是 rtsp 流的格式. 只能 ...
- EasyPlayerPro windows播放器本地音频播放音量控制实现
背景描述 作为一个播放器, 除了能播放视频和声音外,音量控制是绝对不能缺少的功能; 本文在音视频播放的基础上,增加对音量的控制: 实现流程 调用mixerGetDevCaps获取音频输出设备列表; 打 ...
- 22_Android中的本地音乐播放器和网络音乐播放器的编写,本地视频播放器和网络视频播放器,照相机案例,偷拍案例实现
1 编写以下案例: 当点击了"播放"之后,在手机上的/mnt/sdcard2/natural.mp3就会播放. 2 编写布局文件activity_main.xml <Line ...
- H5播放器内置播放视频(兼容绝大多数安卓和ios)
关于H5播放器内置播放视频,这个问题一直困扰我很长一段时间,qq以前提供白名单已经关闭,后来提供了同层属性的控制,或多或少也有点差强人意. 后来一次偶然发现一个非常简单的方法可以实现. 只需要给vid ...
- (1)H5实现音乐播放器【正在播放-歌词篇】
近期闲来无事,就想着复习一下前端的东西,然后正好跟朋友搞了一个公共开放的音乐api接口,就想着写一个音乐播放器玩玩! 话不多说,直接上图,然后上代码 [播放器显示正在播放] 实现功能: 1:歌词随着歌 ...
随机推荐
- UiPath程序设计文档
1. [RPA之家]添加数据列UiPath.Core.Activities.AddDataColumn 链接: https://pan.baidu.com/s/1RRMw4voqJru-fJSoC3W ...
- Java开发问题:Column 'AAA' in where clause is ambiguous解决办法
当在java开发中遇到了Column 'AAA' in where clause is ambiguous问题时, 你需要去看看:多表查询的时候不同的表是否出现了相同名称相同的列, 如果存在,你需要在 ...
- Git下载(快速快速快速下载!!)
在安装Git环境的时候,需要下载Git的安装包,但是官网的下载网速实在是太慢的(几十M的安装包,下载速度只有几十K) (所以可以在镜像中下载,速度超快) Git镜像下载链接-------------- ...
- 自建批量更改标准BO数据程序
by zyi
- NC25025 [USACO 2007 Nov G]Sunscreen
NC25025 [USACO 2007 Nov G]Sunscreen 题目 题目描述 To avoid unsightly burns while tanning, each of the \(C\ ...
- docker多段构建nessus镜像
1.构建基础镜像,主要做安装和获取注册号: FROM ubuntu:16.04 ADD Nessus-8.11.0-debian6_amd64.deb /tmp/Nessus-8.11.0-debia ...
- JAVA解压.Z及.ZIP文件
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress --> <dependency ...
- zookeeper和spring cloud版本冲突
1.使用elastic-job进行任务调度,而核心的就是使用zookeeper进行管理,但这个与spring cloud 冲突造成启动不了 |ERROR |main |SpringApplicatio ...
- 从零开始搭建Vue2.0项目(一)之快速开始
从零开始搭建Vue2.0项目(一)之项目快速开始 前言 该样板适用于大型,严肃的项目,并假定您对Webpack和有所了解vue-loader.确保还阅读vue-loader的文档,了解常见的工作流程配 ...
- Str 真题解(置换)
目录 题面 置换 这里没有群论 置换 置换的乘法(复合) 置换乘法的单位元 置换乘法的结合律 置换快速幂 置换求乘法逆 真题解 一种可能的代码实现 关于循环节做法 题面 对于字符串 \(s\) 定义一 ...