首页 > 其他分享 >Android安卓浏览器视频层级永远顶层问题解决方案

Android安卓浏览器视频层级永远顶层问题解决方案

时间:2022-09-08 01:12:32浏览次数:105  
标签:视频 插件 浏览器 ffmpeg 安卓 jsmpeg ts video Android

在安卓手机上,使用video播放视频有个问题,video控件层级会永远在顶层,不利于视频互动H5开发,而IOS手机上不会有此问题。

腾讯给出了如下解决方案:

  <video src="http://xxx.mp4" x5-video-player-type="h5"/>

但使用如上属性,视频播放时会全屏并将top bar挤掉(没试过的可以自行测试下),且只适用于微信 点此跳到腾讯相关开发说明

官方的方法走不通,其实可利用jsmpeg插件解决, jsmpeg是一个能将视频文件转为canvas播放的插件,详情可点击jsmpeg传送门了解 于是有了这个项目

如何使用

使用jsmpeg插件需要将视频mp4文件用ffmpeg转成.ts文件,ffmpeg可自行在ffmpeg官网下载 转换代码为(命令行):

    ffmpeg -i video.mp4 -f mpegts -codec:v mpeg1video -codec:a mp2 out.ts

或自行加入并设置参数(参数设置可查看ffmpeg教程):

    ffmpeg -i video.mp4 -f mpegts -codec:v mpeg1video -b:v 1000k -r 30 -bf 0 -codec:a mp2 -ar 44100 -ac 1 -b:a 128k out.ts

然后js中调用JSMpeg插件

  var player = new JSMpeg.Player('video.ts', {canvas: canvas, loop: true, autoplay: true});  

在线演示DOMO

http://wx.karlew.com/tongceng/

注意

此项目中安卓上使用jsmpeg插件渲染canvas,ios上正常使用video并加入隐藏控制条等设置。

要注意的是,不要替换demo上的jsmpeg.js,因为demo的jsmpeg.js加入了视频开始播放、结束和播放进度的监听回调

安卓这一块的可以测试,这一篇也是我从远方学习过来的经验,所以做个笔记,写一下,记录

标签:视频,插件,浏览器,ffmpeg,安卓,jsmpeg,ts,video,Android
From: https://www.cnblogs.com/ITYueQianGu888/p/16667862.html

相关文章

  • Q学友浏览器看视频很卡,使用模拟器还提示不然用.曲线救国
    背景Q学友手机app看视频一点不卡,使用浏览器登陆就过几秒刷新一下,并且没有pc版本.那我就想到了模拟机安装了,但是提示检测到了使用模拟器,为了什么安全直接退出了.解决......
  • 第 25 题:浏览器和 Node 事件循环的区别
    先上链接:浏览器与Node的事件循环(EventLoop)有何区别?html#event-loopsNode.js事件循环,定时器和process.nextTick()第一个链接里面大佬讲的已经非常透彻了我来总......
  • 浏览器缓存机制介绍与缓存策略剖析
    缓存可以减少网络IO消耗,提高访问速度。浏览器缓存是一种操作简单、效果显著的前端性能优化手段。对于这个操作的必要性,Chrome官方给出的解释似乎更有说服力一些:很多时......
  • uni-app Android真机调试
    uni-app设置安卓手机真机调试和手机连接之后,还是不能真机调试,如下图   现在开始进行设置,安卓手机第一步:电脑与手机用数据线连接起来,会弹出如下图,   点击......
  • uni-app 区分当前处于浏览器是微信浏览器还是普通浏览器
    //#ifdefH5varua=window.navigator.userAgent.toLowerCase();if(ua.match(/MicroMessenger/i)=='micromessenger'){console.log("这是微信浏览器")}e......
  • 逆向 | frida android hook 入门总结
    逆向|fridaandroidhook入门总结最近在备课,整理到这一块儿了,顺带就把以前的东西整理一下。比较好的参考文章:https://www.jianshu.com/p/0fa6138fafc9#hook重载函......
  • 浏览器增加token
    浏览器打开控制台复制一下代码运行functionsetCookie(cookie_str){varstr_list=cookie_str.split(";");for(varkeyofstr_list){document.cookie=key;}}setCooki......
  • 说一下浏览器垃圾回收机制?
    浏览器根据数据的存储方式分为栈垃圾回收和堆垃圾回收栈垃圾回收:当一个函数执行完毕后,其ESP(记录当前函数状态的指针)会下移指向下一个函数,这个下移操作即视为对上一......
  • Mac 下反编译Android APK
    准备工作:安装ApkTool、dex2jar、JD-GUI安装ApkTool1、下载ApkTool。大家可以从 https://ibotpeaches.github.io/Apktool/install/ 上下载ApkTool2、安装ApkTool(1)将......
  • Java 监控直播流rtsp协议转rtmp、hls、httpflv协议返回浏览器
    Java监控直播流rtsp协议转rtmp、hls、httpflv协议返回浏览器目录需求背景:一:了解音视频流协议:二:方案一rtsp转rtmp1、下载nginx+nginx-rtmp-module2、nginx配置文件3、......