m3u8是一种索引文件,本质上是存放的对应服务器上的视频网络地址。微信小程序使用这种作为视频源可以完美解决卡顿的问题。

手机上传到服务器的视频大部分格式是mp4的,这里服务器可以把mp4转换成m3u8.

<?php
require_once 'dbModel.php';
$db=new dbModel();
if(is_uploaded_file($_FILES['file']['tmp_name'])){$fileName=explode('.',$_FILES['file']['name']);$fileExt=end($fileName);if(!in_array($fileExt,array('3gp','rmvb','flv','wmv','avi','mkv','mp4','mp3','wav'))){$result=array("status"=>false,"msg"=>'上传的文件类型不对!!');echo json_encode($result);}$fileName=md5(uniqid(md5(microtime(true)),true)).'.'.$fileExt;$filesPath='uploadFiles\\'.date("Ym").'\\';createFolder($filesPath);if(move_uploaded_file($_FILES['file']['tmp_name'],$filesPath.$fileName)){$tsfileName=md5(uniqid(md5(microtime(true)),true)).'.'.'ts';$m3u8fileName=md5(uniqid(md5(microtime(true)),true)).'.m3u8';$chg_str = "ffmpeg -y -i ".$filesPath.$fileName." -vcodec copy -acodec copy -vbsf h264_mp4toannexb ".$filesPath.$tsfileName;exec($chg_str);$pic_str = "ffmpeg -i ".$filesPath.$tsfileName." -c copy -map 0 -f segment -segment_list ".$filesPath.$m3u8fileName." -segment_time 5 ".$filesPath.'-%3d.ts';exec($pic_str);$db->insert("videoTable", ["videoUrl" => $filesPath.$m3u8fileName]);$account_id = $db->id();$result=array("status"=>true,"msg"=>'成功!'.$account_id,"data"=>$filesPath.$fileName);echo json_encode($result);}else{$result=array("status"=>false,"msg"=>'失败!');echo json_encode($result);}
}function createFolder($path,$mode = 0777){return is_dir($path) or (createFolder(dirname($path))) and mkdir($path,$mode);
}

微信小程序 video 视频播放卡顿相关推荐

  1. 微信小程序安卓视频播放卡顿问题

    在微信小程序开发中遇到在video组件的两个问题 1.安卓手机里播放视频会有明显的卡顿问题 刚开始以为是网络问题,或者是视频文件问题.排查了一下发现都没问题 最后加了个属性就OK了 uniapp和原生 ...

  2. 微信小程序scroll-view滑动卡顿,下滑时向上滑动失效

    微信小程序scroll-view滑动卡顿 滑动卡顿 解决方案 代码实现 wxml文件 js文件 滑动卡顿 微信小程序scroll-view组件在滑动时频繁卡顿,向下滑动时,向上滑动无效,无法停止.小程 ...

  3. 微信小程序上下滑动卡顿 z-index设置不起作用

    今天在尝试做个微信小程序时,在开发测试时好好的,但发到真机上测试时手势上拉下拉都感到明显的卡顿,底部的菜单也没有浮在最上层.经过查找最后发现问题出现在图片上,在添加图片时看文档, 当时看了一下也没有细 ...

  4. 跳出小程序 video组件 卡顿、黑屏、全屏等坑

    前些天,朋友遇到一个小程序的问题叫我帮忙看看,说是ios上video组件会有严重的黑屏现象,这就有意思了. 知道问题后,我就开始试一试,发现如果页面只有一个video组件的话,是没有什么问题的.但是但 ...

  5. uniapp 判断页面是否是横竖屏,解决微信小程序video组件全屏播放视频遮盖自定义播放控件问题

    如果res.deviceOrientation 等于landscape 的话是竖屏,portrait则是横屏.因为用户每旋转一次屏幕就会触发里面的onShow钩子,因此在页面显示或横竖屏变化都会触发这 ...

  6. 微信小程序 - video组件poster无效 / 视频播放列表

    在做有关微信小程序有关视频播放页面的时候,遇到video组件设置poster无效果,然后查了下poster属性:视频封面的图片网络资源地址,如果 controls 属性值为 false 则设置 pos ...

  7. 微信小程序 实现打卡功能

    参考链接: (1)微信小程序实现签到弹窗动画 https://www.jb51.net/article/196080.htm (2)微信小程序开发(四)入门之打卡功能开发 https://blog.c ...

  8. 微信小程序 拍照打卡功能实现

    微信小程序 拍照打卡功能实现 附Java代码 小程序端 签到页面wxml 签到页面js 拍照页面wxml 拍照页面js Java后台 保存照片 保存打卡数据 由于拍照组件是相当于一个块,用隐藏显示的方 ...

  9. 微信小程序video组件调用腾讯视频的解决方案

    最近在开发中碰到了微信小程序video组件调用腾讯视频的问题,就趁机来总结一下. 对方只给了我一个腾讯视频的网页链接,然后需要放置到小程序里面,大概开发前景是这样的. 对方提供的视频链接: https ...

最新文章

  1. ABP Zero示例项目问题总结
  2. SQL*Plus 说明
  3. CCNP-16 OSPF试验12(BSCI)
  4. python概念(一)python基本数据类型
  5. JRE与JDK,SDK的区别
  6. 5M1E,软件质量管理最佳解决方案
  7. 5行代码满分——L1-060 心理阴影面积 (5分)
  8. 机器学习降维算法五——KPCA算法
  9. Https背景与证书在spring boot项目中的使用
  10. android下载模块封装,AndroidStudio 3.0 NDK开发2-AAR模块封装
  11. 互联网项目架构经验分享
  12. ***编程DIY (Delphi版) - 第2篇 单实例运行
  13. Python实现代码雨效果
  14. 一枚php大马放送~
  15. 【Qt-Camera】大华相机显示线程
  16. 基于Flink CDC实现实时数据采集(一)-接口设计
  17. 思岚A2 运行cartographer
  18. 安装oracle客户端此先决条件,xp系统下oracle 11g客户端安装先决条件检查全部失败...
  19. 52、尽量减少恶意软件的传播
  20. WebStrom中一些有趣的工具与常用快捷键

热门文章

  1. linux双屏鼠标移,ubuntu如何实现双屏显示
  2. 修改pppd,提高openwrt中pppoe多拨成功率
  3. 微信小程序 - 云开发data exceed max size 解决方案
  4. 什么是人工智能?人工智能的本质是什么?
  5. HAProxy配置详解
  6. 短信平台系统搭建 后台功能管理 web源码架构 多线路由通道详解介绍
  7. 罗生门:一个简单查询实现引发的思考
  8. 厅、部、局、司区分大小
  9. JDK 14如期发布,16个新特性快速预览
  10. 如何搜索自己CSDN博客中的文章