用安卓RTMP直播推流进行音频侦听时,出现播放几秒后就无法播放问题的解决方法
Real Time Messaging Protocol(RTMP)即实时消息传输协议,是 Adobe 公司开发的一个基于 TCP 的应用层协议,目前国内的视频云服务都是以 RTMP 为主要推流协议。
EasyRTMP推流组件
EasyRTMP是一套调用简单、功能完善、运行高效稳定的RTMP推流功能组件,经过多年客户实战和线上运行打造,支持RTMP推送断线重连、环形缓冲、智能丢帧、网络事件回调,支持Windows、Linux、ARM、Android、iOS平台,支持市面上绝大部分的RTMP流媒体服务器,能够完美应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等方面。结合EasyDSS流媒体服务器,为开发者提供专业、稳定的直播推流、转码、分发服务,全面满足低超低延迟、超高画质、超大并发访问量的要求。
今天主要跟大家分享用安卓RTMP直播推流进行音频侦听时,出现播放几秒后就无法播放问题的解决方法。
(1)提出问题
最近在跟进一个公安侦听的技术项目时,遇到一个问题,用户采用EasyRTMP进行直播推流,但是与传统的音视频直播推流不一样的是,这里只需要做音频侦听,只需要推送音频流。
用户采用EasyRTMP进行单音频推流时,出现在EasyDSS网页管理后台播放一段时间后,就停止了播放,但数据流还一直存在;
(2)分析问题
我们通过对比EasyDSS后台的网页播放、EasyPlayer原生播放、ffplay播放发现,原生播放都是OK的,只有网页播放会有问题,因为网页播放是严格遵循播放时间戳来进行播放的,所以,我们有理由怀疑是因为时间戳的原因造成的在H5端无法播放,而原生播放器是按照缓冲区来进行播放的;
(3)解决问题
于是我们对EasyRTMP的代码进行了分析,发现在没有视频数据(也就是只推送音频)做同步的情况下,原来的时间轴标准没有了,导致音频的时间戳错误;
我们在RTMP推流中加入了判断,当判断到只有音频推流时,我们独立将音频数据作为时间戳时间轴,不以视频时间戳时间轴为标准,就解决了问题。
EasyRTMP功能特点
- 调用简单
无论是个人开发者还是企业级应用,只需要简单的几个接口调用就可以完成一套完整的互联网直播应用的上架
- 功能完善
配套完整的直播、录像、旋转功能示例,用户直接复用即可选择嫁接自定义功能
- 运行高效
高效缓冲和发送设计模式,能非常灵活地让用户自定义延时和缓冲区的大小
- 性能稳定
长期的在线运行检验,众多客户的项目成功经验
用安卓RTMP直播推流进行音频侦听时,出现播放几秒后就无法播放问题的解决方法相关推荐
- 【Android RTMP】RTMP 直播推流阶段总结 ( 服务器端搭建 | Android 手机端编码推流 | 电脑端观看直播 | 服务器状态查看 )
文章目录 安卓直播推流专栏博客总结 一. 服务器搭建 二. 手机端推流 三. 电脑端观看直播 四. RTMP 服务器端状态 安卓直播推流专栏博客总结 Android RTMP 直播推流技术专栏 : 0 ...
- 【Android RTMP】RTMP 直播推流服务器搭建 ( Ubuntu 18.04.4 虚拟机 )
文章目录 安卓直播推流专栏博客总结 一. Android RTMP 直播推流简介 二. Nginx.RTMP Module 编译环境源码准备 三. pcre.OpenSSL.zlib 函数库安装 四. ...
- 【Android RTMP】RTMP 直播推流 ( 阿里云服务器购买 | 远程服务器控制 | 搭建 RTMP 服务器 | 服务器配置 | 推流软件配置 | 直播软件配置 | 推流直播效果展示 )
文章目录 安卓直播推流专栏博客总结 一. 阿里云服务器购买 二. 远程服务器控制软件 三. 配置 Ubuntu 服务器 1 . 更新 apt 源 2 . 安装 pcre.OpenSSL.zlib 库 ...
- 本系列介绍了rtmp直播推流全过程(已完结)
本系列介绍了rtmp直播推流全过程 完整项目地址 (已完结) 以下文章是针对每一个情况,介绍音视频相关知识,以及实现的原理,总共分五章: 第一章:直播推流全过程:视频数据源之YUV(1) RGB或YU ...
- Android流媒体开发之路二:NDK C++开发Android端RTMP直播推流程序
经过一番折腾,成功把RTMP直播推流代码,通过NDK交叉编译的方式,移植到了Android下,从而实现了Android端采集摄像头和麦克缝数据,然后进行h264视频编码和aac音频编码,并发送到RTM ...
- rtmp直播推流 app-livestream v0.0.1.002 发布
rtmp直播推流 app-livestream 使用说明书 2020-07-14 Win64位版本v0.0.1.002发布 Author: hybase@qq.com QQ: 2320768 ...
- 魔坊APP项目-26-直播、docker安装OSSRS流媒体直播服务器、基于APICloud的acLive直播推流模块实现RTMP直播推流、直播流管理
一.docker安装OSSRS流媒体直播服务器 在外界开发中, 如果要实现直播功能.常用的方式有: 1. 通过第三方接口来实现.可以申请阿里云,腾讯云,网易云,七牛云的直播接口,根据文档,下载集成SD ...
- windows下ffmpeg+nginx-rtmp环境搭建及opencv+ffmpeg+python实现拉流和rtmp直播推流
由于工作需要最近在研究rtsp拉流与直播推流的问题,目前先在我本机上进行了实验,本博客记录学习的内容,包含windows下ffmpeg.nginx-rtmp环境搭建及opencv+ffmpeg+pyt ...
- 安卓(android)建立项目时失败,出现Android Manifest.xml file missing几种解决方法?(总结中)
安卓(android)建立项目时失败,出现Android Manifest.xml file missing几种解决方法?(总结中) 参考文章: (1)安卓(android)建立项目时失败,出现And ...
最新文章
- 一文读懂卷积神经网络
- 树链剖分(轻重链剖分) 讲解 (模板题目 P3384 【模板】轻重链剖分 )
- linux命令之date
- 数据数字mongodb 模糊查询以及$type使用
- 1.8 Collections类操作集合详解——排序,查找,复制
- struts2标签集
- ubuntu 21.04 版本上 安装 sqlcmd
- 「OC」类的深入研究、description方法和sel
- 右键添加git-bash
- Android 图片识别、图像识别
- Arm Linux交叉编译和连接过程分析(1)
- htt:// ************不在以下 request 合法域名列表中,请参考文档:******************************
- innobackupex参数之 --throttle 限速这个值设置多少合理 原创
- Ubuntu下配置使用maven
- Ubuntu18.04LTS+Anaconda+Tensorflow-GPU安装记录
- java笔记_2020年java程序员、java工程师必备资料(内含java学习思维图、视频教程、源码笔记等)...
- Java 代码实现pdf转word文件 | 无水印 | 无页数限制
- 人脸检测进阶:更快的5点面部标志检测器
- Tipask目录结构
- Android Studio调用python运行thensorflow模型--CLE方案实现