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:歌词随着歌 ...
随机推荐
- Linux-Centos快速安装Docker
卸载之前的docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-l ...
- Linux yum的实现和配置
使用yum或dnf解决rpm包的依赖关系. YUM:Yellowdog Update Modifier.是rpm的前端程序 作用:解决软件包之间的依赖关系 yum工作原理: yum 服务器存放rpm包 ...
- HMS Core音频编辑服务3D音频技术,助力打造沉浸式听觉盛宴
2022年6月28日,HDD·HMS Core.Sparkle影音娱乐沙龙在线上与开发者们见面.HMS Core音频编辑服务(Audio Editor Kit)专家为大家详细分享了基于分离的3D音乐创 ...
- 不是吧?30秒 就能学会一个python小技巧?!
大家好鸭!我是小熊猫 很多学习Python的朋友在项目实战中会遇到不少功能实现上的问题,有些问题并不是很难的问题,或者已经有了很好的方法来解决.当然,孰能生巧,当我们代码熟练了,自然就能总结一些好用的 ...
- 『现学现忘』Git后悔药 — 31、reset版本回退命令总结
目录 1.--soft回退说明 2.--mixed回退说明 3.--hard回退说明 4.总结 在Git中进行版本回退需要使用git reset命令. 以前面文章中的示例为例,当我准备在V4版本,回退 ...
- 关于Thymeleaf无法取值问题
SpringBoot2.7以前的版本在获取model中数据的时候不需要注释,2.7以后的版本需要加注释,它无法直接取存在model中的数据,不加注释的时候会爆红但是可以正常使用,这个注释的含义就是指定 ...
- C++学习日记:关于我决定开始学习C++的那些事
苦恼于Python运行时感人的速度,我决定学习C++. 为了激励我自己好好地学习这门未曾谋面的编程语言,我决定在此开设专栏:C++学习日记.希望在读者们的监督下,我可以早日掌握这门语言.当然,如果那位 ...
- 在 IDEA 里下个五子棋不过分吧?
大家好,我是二哥呀!今天给大家分享一个基于Netty的IDEA即时聊天插件,可以实现即时聊天.游戏对战(下棋). GitHub 地址:https://github.com/anlingyi/xecha ...
- @Document注解与Lombok的区别
- ajax03_跨域访问问题
ajax跨域访问问题 什么是跨域访问 从一个域名去访问另一个域名的资源 或者从一个站点去访问另一个站点的资源 哪些请求方式可以发送跨域请求 超链接 form表单 传统js代码 javascript标签 ...