本文转自EasyDarwin团队成员John的博客:http://blog.csdn.net/jyt0551/article/details/75717097 最近发现某些手机在运行EasyPlayer播放视频时,会停留在第一帧画面,虽然有码率预示着接收端没有问题,但是画面却卡着不动. 一般来讲,这个现象有三种原因导致: 没有接收到视频帧; 解码器出错,只解出了第一帧图像; 时间戳计算有误,导致长时间sleep; 那逐一排查下.首先在媒体帧回调的地方下个断点,发现的确有视频帧接收到,并且视频帧最…
最近发现某些Android安卓手机在运行EasyPlayer播放视频时,会停留在第一帧画面,虽然有码率预示着接收端没有问题,但是画面却卡着不动. 一般来讲,这个现象有三种原因导致: 没有接收到视频帧; 解码器出错,只解出了第一帧图像; 时间戳计算有误,导致长时间sleep; 那逐一排查下.首先在媒体帧回调的地方下个断点,发现的确有视频帧接收到,并且视频帧最终正常地push到解码的队列当中了,说明第一个假设不成立. 其次,我们看看解码器,似乎也正常工作,没有打印任何异常信息.解码线程也并未退出.那…
EasyPlayer现在支持多视频源快速切换了,我们介绍一下是如何实现的. 这个需求通常应用在一个客户端需要查看多个视频源的情况,比如多个监控场景轮播. 由于EasyPlayer的播放端已经放在Fragment了,这使得SDK层可以对好多应用层的代码做以封装,这样尽可能给开发者带来方便.比如,两个视频源切换的时候,只需要创建两个PlayFragment,然后对这两个Fragment进行显示切换,如代码所示: public void onSwitchPlayer(View view) { Play…
本文转自EasyDarwin团队John的博客:http://blog.csdn.net/jyt0551,John是EasyPusher安卓直播推流.EasyPlayer直播流媒体播放端的开发和维护者,在这方面为开源社区贡献了非常多的技术干货和代码,这里对John的辛苦劳作表示感谢! 在之前一片博客< EasyPusher实现安卓Android手机直播推送同步录像功能>(http://blog.csdn.net/jyt0551/article/details/58714595)中,我写到了Ea…
前文曾经讲了关于在安卓平台上利用phonegap开发播放HLS的解决方案,其实最好的方案就是自己针对HLS视频开发自己的播放器,但是开发播放器是一个浩大的工程,必须对原生安卓开发非常熟悉,并且对视频播放知识需要一定的积累.对于一般开发人员,尤其是web开发人员来讲,这显然不现实,同时这也违背了我们采用phonegap来开发跨平台移动软件的初衷.那么在这种情况下如何达到我们预期的目标呢?答案是调用第三方应用. step1:首先需要在手机上安装一个能够播放HLS协议视频的播放器,例如MXplayer…
此处为记录解决过程. 所链接使用的MP4格式视频为codec id是mp4v-20.使用手机自带播放器可以播放,使用百度云媒体播放器不能无画面.经调试,Android Baidu-Cloud-Player-Android-LSS-2.1.0为百度精简版,不支持该视频格式.需要使用最新版本的完整版SDK.但还是不能解决该问题. 后设置视频编码格式有自动编码格式改成软编码格式 setDecodeMode(int mode) 设置解码模式,可以设置为 DECODE_AUTO(优先硬解,其次软解) 或者…
前言:公司需求如下:点击一个按钮播放一个视频,最多同时播放4个:双击某视频让其全屏,单击再恢复原来的样子.IOS的播放器有两种,MPMoviePlayerController,AVAudioPlayer.首先我尝试的是前者,发现并不能让两个视频同时播放,当播放第二个视频的时候,第一个就自动停止了:后来又找了些资料试了试后者,完美解决了这个问题. 多个播放器同时播放,资料参考自:http://ios.jobbole.com/84287/ ,这里介绍的挺详细的,文章后面还有项目可以下载演示,这里就不…
参考:Ubuntu 14.04 安装深度音乐的方法 问题描述:播放wma文件时提示"GStreamer插件未安装". 解决方法:安装gstreamer-ffmpeg插件即可解决问题. 步骤: 1.添加gstreamer0.10-ffmpeg的源 sudo apt-add-repository ppa:mc3man/trusty-media sudo apt-get update 2.安装 sudo apt-get install gstreamer0.10-ffmpeg 3.重启Cle…
public class OpenExe extends HttpServlet { //打开本地播放器并播放视频 public static void openExe(String file) { Runtime rn = Runtime.getRuntime(); Process p = null; try { p = rn.exec("D:/The entertainment software/QvodPlayer/QvodPlayer.exe "+file); } catch…
本文原文地址:http://www.cnblogs.com/over140/archive/2009/03/30/1421531.html 阿里云栖社区也有相关的视频开发案例:https://yq.aliyun.com/articles/51182 注意 本系列文章限于学习交流,注重过程,由于涉及公司,所以不提供源代码下载,非常抱歉!!但是请大家放心,核心.实现以及其他能够贴出来的代码我都会贴出来,并且争取尽所能的回答留言里的每一个问题,感谢大家关注,欢迎交流 :) 系列 1.     C# 视…
音乐播放器,播放|暂停|滑块的功能 document.addEventListener('DOMContentLoaded', function loaded(event) { var audio = document.getElementById("aud"); var Oplay = document.getElementById("play"); var Oimg = document.getElementById("Img"); var…
因为公司项目需要,我一个连iPhone都没用过的人竟然跑去开发iOS APP.近一段时间一直忙于赶项目,到今天差不多了,所以记录一下当时遇到的各种坑,先从ios 集成 ijkplayer播放器说起! 首先感谢网络上各位大神,感谢开源精神!!! 进入正题,因为项目需要,我要在iOS上开发一套 rtmp 视频流的播放器,最开始公司大佬推荐的VLC.几经辗转再 pod 上找到了 VLC的播放器包,但是引入之后效果并不理想,最主要的原因就是VLC播放一段时间之后,图像就卡住不动了,而且延迟无比大,不知道…
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_75 众所周知,在视频直播领域,有不同的商家提供各种的商业解决方案,其中比较靠谱的服务商有阿里云直播,腾讯云直播,以及又拍云和网易云的有偿直播服务,服务包括软硬件设备,摄像机,编码器,流媒体服务器等.但是其高昂的费用以及较高的准入门槛让许多个人和小型企业望而却步,本文要讲解的是如何使用nginx-rtmp搭建直播服务器,配合FFmpeg推流,在网页端vue.js作为载体利用video.js作为流播放器,打造一套可用的在线视频直播…
rtsp_tracepoint: rtspservice.c,RTSP_state_machine, state_machine:current state is ready state current method code +++++++++++++++++++++ start to play now! +++++++++++++++++++++ (Send to client:) RTSP/ OK CSeq: Server: sunshine/1.11 Date: Thu, Jan ::…
问题来源 2017.12.18 今日有杭州某教育领域客户反馈EasyPlayerPro在播放一个rtmp源时,画面显示异常的问题.截图如下: 问题复现 一番思考, 将显示格式改为D3D显示, 正常, 截图如下: 问题调试 推测应该是分辨率的问题, D3D显示是固定的拷贝, 而GDI显示是由api DrawDibDraw实现, 在源端将分辨率固定为编码分辨率, 显示效果截图如下: 问题解决 的确,就是源端分辨率的问题, 仔细查看发现, 回调出来的分辨率是显示分辨率(width, height),而…
网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助   这个其实很简单,只要在HTML上添加以上代码就OK了,前提是你的电脑上已经安装了播放器,如RealPlay. 复制代码 代码如下: <embed src="C:/mp3/10.19/画心.mp3" width="480" height="100"02. loop="false&qu…
使用 BASS 和 ImGui 实现音乐播放器 MusicPlayer. 将播放器和一个文件夹关联起来,程序刚开始运行的时候就从该文件夹加载所有音频文件.而文件夹的路径则保存在配置文件中,所以程序的第一步就是读取配置文件. 1.读取配置文件 配置文件以 XML 格式进行储存,使用 TinyXml 库解析: tinyxml2::XMLDocument doc; if ( doc.LoadFile(path.c_str()) != tinyxml2::XML_NO_ERROR ) { this->C…
只需要改动红色的代码: <object classid='clsid:D27CDB6E-AE6D-11cf-96B8-4445535411111' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0' width=500 height=400> <param name='movie' value='tools/flvplayer.swf' />…
效果图如下: 所用代码如下: <object id="FLVPlayer" height="480" width="640" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-4445535400…
Ctrl+Alt+T > sudo apt-get install ubuntu-restricted-extras 因为版权和专利的问题,MP3等一些non-free的格式文件支持没有出现在免费的ubuntu系统中,需要我们手动安装一些包来支持. 或者可以使用下面的链接来安装. Ubuntu: Click here to install the ubuntu-restricted-extras package Kubuntu: kubuntu-restricted-extras Xubuntu…
EasyPlayer-RTSP-Android安卓RTSP播放器低延迟播放延时优化策略 EasyPlayer-RTSP-Android播放器是一款专门针对RTSP协议进行过优化的流媒体播放器,其中我们引以为傲的两个技术优势就是起播速度快和播放延迟低.最近我们遇到一些需求,其对延迟要求非常苛刻,于是我们再把代码捡起来,针对之前的播放策略进行再优化,果然又发现一些可以更改和调优的地方,于是又对性能进行了一次压榨,再一次降低了延迟: 提高解码线程的优先级 一个不容忽视且容易被人忽略的事实,就是安卓层在…
https://github.com/EasyDSS/EasyPlayer-RTSP-Android EasyPlayer EasyPlayer RTSP Android 播放器是由紫鲸团队开发和维护的一个完善的RTSP流媒体播放器项目,视频编码支持H.264,H.265,MPEG4,MJPEG,音频支持G711A,G711U,G726,AAC,支持RTSP over TCP/UDP协议,支持硬解码,是一套极佳的安防流媒体平台播放组件!EasyPlayer Android 安卓版本经过了很多年的…
说到EasyPlayer.js,先得说一下EasyPlayer到底是啥, An elegant, simple, fast android RTSP/RTMP/HLS/HTTP Player.EasyPlayer support RTSP(RTP over TCP/UDP)version & RTMP(FLV)version & Pro version & H5(RTMP.HTTP-FLV.HLS.HTTP)version,cover all kinds of streaming…
概述 libEasyPlayer实现对RTSP直播流进行实时采集和解码显示,稳定,高效,低延时:解码可采用intel硬件解码和软件解码两种方式,能实时进行录像和快照抓图,OSD叠加等功能. API接口函数定义  int EasyPlayer_Init(); 函数说明: 播放器初始化,播放器使用之前调用: 参数说明:  void EasyPlayer_Release(); 函数说明: 播放器资源释放,播放器不再使用以后调用: 参数说明: int EasyPlayer_OpenStream(c…
现象 最近团队在做EasyDSS RTMP流媒体服务器开发的过程中,遇到了一个关于延时累积的问题,先大概描述一下过程: 在EasyRTMP Android进行长时间的RTMP推流压力测试,在EasyDSS的web客户端中进行Flash播放,起初进行播放的开始阶段,延时是极小的,大概在0.4s左右,但随着播放过程的延长,我们会观察到一个现象,一旦客户端出现一次缓冲或者停顿,网页播放的时延就会增加,而且是不会恢复的,最终越来越长越来越长! 判断与结论 于是我们就一直在怀疑到底是EasyRTMP推流端…
最近再做一个安卓的音乐播放器,是实验室里学长派的任务,我是在eclipse上进行开发的,由于没有android的基础,所以做起来困难重重. 首先是布局上的困难 1.layout里的控件属性不熟悉 2.想做一个音乐列表做不出来知道要用Listview控件,网上也找了许多的音乐播放器的代码,但导入项目中总会出错,所以想在这里请教各位 3.除了布局有困难外,实现相关功能也有困难,由于基础不行所以我并不想也做不出网上音乐播放器那么多的功能,我只想要我的播放器有播放,暂停,上一曲,下一曲的效果就行了,这还…
在Android 实现简单音乐播放器(一)中,我介绍了MusicPlayer的页面设计. 现在,我简单总结一些功能实现过程中的要点和有趣的细节,结合MainActivity.java代码进行说明(写出来可能有点碎……一向不太会总结^·^). 一.功能菜单 在MusicPlayer中,我添加了三个菜单: search(搜索手机中的音乐文件,更新播放列表). clear(清除播放列表……这个功能是最初加进去的,后来改进之后,已经没什么实际意义). exit(退出). menu_main.xml <m…
今天掐指一算,学习Android长达近两个月了,今天开始,对过去一段时间的学习收获以及遇到的疑难杂症做一些总结. 简单音乐播放器是我自己完成的第一个功能较为完整的APP,可以说是我的Android学习之路上的一个小小里程碑,给我增加了很多信心(~~真容易获得满足~~).从下面开始,我将详细介绍MusicPlayer的设计过程. 首先,先看一下这个项目的工程目录和运行效果:      从上面的图片看到,整个工程的布局文件有两个:activity_main.xml和musiclist.xml,其中,…
前言 关键字:Vitamio.VPlayer.Android播放器.Android影音.Android开源播放器 本章节把Android万能播放器本地播放的主要功能(缓存播放列表和A-Z快速查询功能)完成,和播放组件关系不大,但用到一些实用的技术,欢迎交流! 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 系列 1.使用Vitamio打造自己的Android万能播放器(1)——准备…
假设实现一个音频文件的播放,那么在应用程序中提供播放音频文件功能的最简单的方式是利用内置的"Music(音乐)"应用程序的功能--即使用系统自带的或已安装好的音乐播放器来播放指定的音频文件. 本例比較简单,以下直接给出源码: 布局文件activity_main: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://…