背景:想搭建网页版的视频播放器

目录

一.nginx 和 php 关联

1.先执行用php-cgi监听端口

2.配置nginx

二.html5 video 遇到的问题

1.video只支持video/mp4,video/ogg,video/webm三种视频格式;而且只支持某种编码

2.视频的进度条不能滑动

三.html5网页播放器 DPlayer

四.html5调用Windows 媒体播放器(Windows Media Player)

五、dplayer 播放m3u8文件

1.下载ffmpeg

2.使用ffmpeg转成m3u8文件

3.dplayer播放m3u8文件


一.nginx 和 php 关联

我一直用centos 下 nginx和php,忘记怎么弄了。。。

1.先执行用php-cgi监听端口

php-cgi.exe -b 127.0.0.1:9000  -c E:/php/php.ini

2.配置nginx

nginx.conf 里面

fastcgi_pass   127.0.0.1:9000;

然后start nignx.exe

这里一定要先执行php-cgi 然后再启动nginx,否则nginx 会报502

二.html5 video 遇到的问题

1.video只支持video/mp4,video/ogg,video/webm三种视频格式;而且只支持某种编码

如果你的视频有声音没画面就是video不支持这种编码,得通过工具转码;

后来又发现它可以播放mkv格式

但avi,wmv,rmvb不支持,很多视频是avi格式,很多动漫是rmvb格式;

2.视频的进度条不能滑动

这种情况是在php环境下才会出现,在本地浏览器直接访问html文件不会出现这个问题;

解决方案

html文件

<video id="my_video" autoplay  controls><source src="video.php" type="video/mp4"></video>

php文件

set_time_limit(0);
if(isset($_GET['path'])){$name=$_GET['path'];header( 'Content-type: application/octet-stream' );header( 'Content-Disposition: attachment; filename="' . basename ( $name ) . '"' );header( "Content-Length: " . filesize ( $name ));header( 'X-Accel-Redirect:/aaaa'.mb_substr($name,2,null,'utf8'));  //X-Accel-Redirect这个请求头告诉nginx 我要重定向,其中我的重定向标识是aaaa,//nginx 匹配到aaaa 就访问某个路径的视频//比如我的视频路径是G:/video/电影/杀破狼.mp4;//那么这里写
//header( 'X-Accel-Redirect:/aaaa/video/电影/杀破狼.mp4'); nginx 就会在G盘里面找
}

nginx.conf

server {listen        8081;server_name  localhost;root   "G:/";location / {if (!-e $request_filename) {rewrite  ^(.*)$  /index.php/$1  last;break;}index  home.php index.html index.htm index.php l.php;error_page 405 =200 http://$host$request_uri;autoindex  off;}  location /aaaa{internal;alias  G:/; #跟上面的php呼应}location ~ \.php(.*)$ {fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;fastcgi_param  PATH_INFO  $fastcgi_path_info;fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;include        fastcgi_params;}}

三.html5网页播放器 DPlayer

文档链接 https://dplayer.diygod.dev/zh/guide.html#special-thanks

1.还可以支持HLS,FLV格式

2.支持弹幕

3.切换清晰度

四.html5调用Windows 媒体播放器(Windows Media Player)

1.你想在网页调用window的播放器的前提是你的浏览器有开启ActiveX控件

2.开启ActiveX控件后IE可以看,谷歌浏览器可能修改添加扩展;

html代码:

<html>
<head><meta charset="UTF-8">
</head>
<body>
<object id="player"  classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"><param NAME="url" value="G:/video/1.avi">
</object>
</body>
</html>

五、dplayer 播放m3u8文件

1.下载ffmpeg

Download FFmpeg

2.使用ffmpeg转成m3u8文件

# 1.视频整体转码ts
ffmpeg -y -i music.mp4  -vcodec copy -acodec copy -vbsf h264_mp4toannexb out\music.ts
# 2. ts 文件切片
ffmpeg -i music.ts -c copy -map 0 -f segment -segment_list out\music.m3u8 -segment_time 10 out\15s_%3d.ts

3.dplayer播放m3u8文件

//事先要引入dplayer.js
//引入hls.js   npm intall hls
dp = new DPlayer({container: document.getElementById('play_img'),autoplay: true,loop: true,hotkey: true,video: {url: '视频地址',type: 'hls',},
});

window php 本地播放视频遇到的问题相关推荐

  1. 开发EduSoho v8.7.10 本地播放视频超时或者快进后网络错误导致视频下载中途失败。鉴权播放次数问题

    EduSoho v8.7.10 本地播放视频超时或者快进后网络错误导致视频下载中途失败.鉴权播放次数问题 文件路径 src/AppBundle/Twig/WebExtension.php protec ...

  2. EduSoho v8.7.10 本地播放视频超时或者快进后网络错误导致视频下载中途失败。

    EduSoho v8.7.10 本地播放视频超时或者快进后网络错误导致视频下载中途失败.鉴权播放次数问题 文章转载于 https://m.zkdygl.com/d/223-edusoho-v8710 ...

  3. 用手机直接播放电脑本地的视频文件

    用手机直接播放电脑本地的视频文件 1. 电脑具有开放共享 wifi 热点功能 win10 可使用系统自带的共享热点功能 其他用户使用 connectify .360 免费 wifi等热点共享软件 开启 ...

  4. PP视频怎么设置退出程序时清空本地播放记录

    本文小编给大家分享PP视频怎么设置退出程序时清空本地播放记录,如果大家在使用PP视频过程当中遇到类似问题,欢迎阅读本文!大家都知道PP视频作为中国最大的视频分享网站,它有非常全面的视频资源.而我们只要 ...

  5. Android Studio 实现播放本地/网络视频

    Android Studio 实现播放本地/网络视频 目的 工具及环境 功能设计 VideoView 简介 常用方法 代码解释 本地视频播放器 activity_main.xml MainActivi ...

  6. 服务器本地视频怎么网站播放视频教程,远程服务器的视频怎么在本地播放

    远程服务器的视频怎么在本地播放 内容精选 换一换 网站的访问与云服务器的网络配置.端口通信.防火墙配置.安全组配置等多个环节相关联.任意一个环节出现问题,都会导致网站无法访问.本节操作介绍网站无法访问 ...

  7. 借用 potplayer 播放器,在本地播放 b 站视频也能看弹幕了

    苏生不惑第164 篇原创文章,将本公众号设为星标,第一时间看最新文章. 关于b站之前已经写过了下列文章,有兴趣可以点击阅读: 那些我关注的 b 站 up 主 bilibili(b站)升级到BV号了,还 ...

  8. 前端 mediaRecorder 录制视频源代码实例,和本地播放器无法定位进度条问题分析和解决

    问题 mediaRecorder 本质上录制的是webm 当我们使用getUserMedia.MediaRecorder等API生成的webm视频时,会发现最终的webm是无法拖动进度条的 解决方案 ...

  9. 本地播放哔哩哔哩弹幕+视频

    本地播放哔哩哔哩弹幕+视频 1.打开你喜欢或者收藏的视频播放页面 2.下载视频 方法1:一劳永逸的下载工具: IDM 方法2:利用浏览器插件的嗅探[^1]工具(不太推荐,感兴趣的可以百度学习一下) 方 ...

最新文章

  1. Spring IDE 1.2.4发布
  2. Stanford UFLDL教程 独立成分分析
  3. 对信号集操作函数的使用方法和顺序
  4. 组合数(Combinatorial_Number)
  5. 文件共享之Samba
  6. 收藏 | 人工智能与模式识别会议集锦
  7. AS3 JPEG Encoder应用:从Flash中保存图片
  8. atitit。全局变量的设计与实现 java php的异同
  9. yoloV3的惊艳结果--比较yoloV2
  10. linux网页版控制台,linux Web控制台
  11. 克拉默法则的理解记忆方法
  12. 图机器学习——2.3 整图嵌入
  13. 亚马逊云AWS MQTTS 证书使用说明
  14. 基于微型计算机系统的实时时钟设计,基于单片机的DS12C887时钟芯片应用研究
  15. singleton pattern的一个模板实现, 适用于单线程, 并且提供了Release方法
  16. 学习游戏两不误 测机械革命钛钽Plus旗舰游戏本
  17. Solidity智能合约库:区块链工程师的随身工具箱
  18. 三星note10 android q,当之无愧的安卓机皇!三星Note10+测评,结果难以想象
  19. 聊聊Elasticsearch的NodesSniffer
  20. 导出的excel表格是乱码的解决方法

热门文章

  1. 微型计算机惠普1hm20av,微型计算机原理答案(1)
  2. 新南威尔士大学COMP1531Iteration1课业解析
  3. VM 16 Pro 遇到VPMC无法启动导致虚拟机无法启动求大神赐教!
  4. php excel导入数组,利用PHPExcel导入xlsx/xls,将xlsx、xls转换为数组
  5. 模拟PWM波的自适应取阈值算法
  6. flash制作swf播放器
  7. 奥比3D相机及SDK功能介绍
  8. DHU Matlab Experiment【6】作业记录_第七章
  9. 80后:管理还是激励
  10. 老虎证券 2018 java编程笔试题