环境:
CentOS7.6 宝塔 nignx

H5ai是一款功能强大 php 文件目录列表程序,由德国开发者 Lars Jung 主导开发,它提供多种文件目录列表呈现方式,支持多种主流 Web 服务器,例如 Nginx、Apache、Cherokee、Lighttpd 等,支持多国语言,可以使用本程序在线预览文本、图片、音频、视频等。

H5ai需要最低php5.5+

修改版源码,由LOC的冻猫完成,将H5ai的视频播放器替换成了DPlayer。
Github地址:https://github.com/Pearlulu/h5ai_dplayer_hls,下载地址:点击进入

2020.02.06

更新dplayer到最新dev版本(修复了和flv.js搭配产生的BUG)
更新hls到最新版本(修复了特殊文件名BUG,总算不用hack了)
增加flv.js支持播放flv视频
支持播放自建直播流
优化了播放器加载逻辑

说明
支持hls播放切片视频,flv视频,可播放hls切片直播,flv直播流

支持简单的登录验证,默认用户名密码都是admin。 如果不想要用户名密码,把_h5ai/public/index.php里第二行include 'login.php'注销。 修改用户名密码在_h5ai/public/login.php。

考虑到方便手动管理视频切片文件,会自动按照下面的目录结构播放video.m3u8,如果没有切片则会播放原始视频。 切片文件夹和文件默认都是隐藏的,不会在h5ai中显示,可以手动修改_h5ai/private/conf/options.json配置是否隐藏。

├── abcd.mp4
│ └── video.m3u8
└── abcd.mp4

关于切片视频播放:
例如视频在/video/abcd.mp4,那么会自动寻找/video/__abcd.mp4__/video.m3u8。也就是会寻找"__视频文件名__"文件夹下的切片文件。如果没有切片文件会播放原始视频。切片文件夹和文件都是隐藏的,不会在h5ai中显示。

简易自动切片

搭配Aria2
aria2配置文件增加

on-download-complete=/data/aria2/hls_aria2.sh

hls_aria2.sh --> 下载完成后复制原始视频流编码自动切片。自行修改下载路径DOWNPATH(注意需要结尾的"/")。

#搭配Aria2下载完成后自动切片
#下载脚本
wget https://raw.githubusercontent.com/Pearlulu/h5ai_dplayer_hls/master/hls_aria2.sh
#在aria2配置文件中增加以下参数,后面为脚本路径
on-download-complete=/root/hls_aria2.sh
#授权脚本
chmod +x /root/hls_aria2.sh
#修改脚本的下载路径DOWNPATH(注意需要结尾的"/"),然后重启Aria2生效。

通用转换切片文件
hls_general.sh --> 将指定目录及所有子目录下的全部视频文件切片。自行修改目录绝对路径(注意结尾无"/")。

#通用转换切片文件、将目录及所有子目录下的全部视频文件切片。
#下载脚本
wget https://raw.githubusercontent.com/Pearlulu/h5ai_dplayer_hls/master/hls_general.sh
#自行修改脚本里的目录绝对路径(注意结尾无"/")。
#运行脚本,bash hls_general.sh

ass,srt字幕转vtt字幕
如果存在同视频文件名的vtt字幕,会自动载入字幕文件。 subtovtt.sh --> 将指定目录及所有子目录下的全部字幕文件转换为vtt字幕。自行修改目录绝对路径(注意结尾无"/")。

直播流
比较复杂,有需求的人也不多,感兴趣可以自行研究
可以搭建livego直播服务器,中转播放youtube等国外直播,需要ffmpeg, streamlink/youtube-dl, livego。
若直播流取名为movie 通过ffmpeg推流到livego链接为 rtmp://127.0.0.1:1935/live/movie
nginx反代 /live 到 127.0.0.1:7001,在h5ai显示的目录下新建movie.live.flv,点击就会播放名为movie的flv直播流(推荐,延迟低,稳定)。
nginx反代 /live 到 127.0.0.1:7002,在h5ai显示的目录下新建movie.live.flv,点击就会播放名为movie的hls切片直播流(20s延迟)。

安装

搭建web环境,可以用LNMP,LAMP,或者直接宝塔一类面板安装。

下载并上传H5ai程序到根目录,把h5ai程序_h5ai中private和public两个文件夹中的cache目录权限设置为777。

根据不同系统,修改当前域名下的Nginx配置文件,在root一行把/_h5ai/public/index.php添加进去

index  index.html  index.php  /_h5ai/public/index.php;

重启nginx即可,需要将共享的文件放到根目录(与_h5ai同目录)
ROOT
├─ _h5ai
├─ your share files
└─ and share folders

修改php.ini文件,解除禁用函数。
搜索:disable_functions找到下列内容

disable_functions=passthru,exec,system,chroot,scandir,...

删除scandir、exec、passthru 保存
重启php服务

检测H5ai系
访问:http://域名/_h5ai/public/index.php 检测H5ai系统兼容性

其他功能 (h5ai的默认设置文件 _h5ai/private/conf/options.json )

#图片 EXIF:直接用宝塔面板安装PHP,在PHP扩展选项里选择 Exif模块安装
#PDF 略缩图:宝塔面板PHP扩展里找到ImageMagick 安装
#设置默认语言。在配置文件中搜索l10n找到设置,将en改为zh-cn即可
#开启文件搜索功能。在配置文件中搜索search,将false改为true。
#在配置文件中搜索select,将false改为true。之后你的h5ai点击文件先端的时候,并不是下载,而是选中文件,下载的按钮呢在左上角喽。如果要下载文件呢,可以点击文件名字依旧还是下载功能。
#在配置文件中搜索download,将false改为true,如果需要设置打包文件的格式为zip,而不是默认的tar的话,需要将php-tar改为shell-zip。
#二维码下载,可以通过扫码的方式下载文件。在配置文件中搜索info,将false改为true,这里有2个地方要改。当你鼠标置于文件上时,可以看见h5ai右侧显示文件类型和二维码,手机扫码就可以下载文件。
最后编辑:2021年05月05日 ©著作权归作者所有

发表评论

正在加载 Emoji