先安装好 安装ffmpeg工具css
而后在mp4的文件目录上 用cmd 命令html
ffmpeg -i 135M.mp4 -c:v libx264 -hls_time 10 -hls_list_size 0 -c:a aac -strict -2 -f hls 135M.m3u8跨域
将其转成m3u8格式( 命令简单解释下:
-hls_time 60: 设置每片的长度,我这里是60秒,为一个片断。
-hls_list_size 0:设置播放列表保存的最多条目,我这里设置为0会保存有所片信息,默认值为5
更多命令能够百度或Google )服务器
能够直接使用video.js播放,直接一个index.htmlapp
<!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>MP4ToM3U8</title> <link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet"> <script src="https://unpkg.com/video.js/dist/video.js"></script> <script src="https://unpkg.com/videojs-contrib-hls/dist/videojs-contrib-hls.js"></script> </head> <body> <h1>播放</h1> <video id="my_video_1" class="video-js vjs-default-skin" controls preload="auto" data-setup='{}'> <source src="http://localhost:8080/t/xxx.m3u8" type="application/x-mpegURL"> </video> <script> </script> </body> </html>
遇到坑的 1.有资源的跨域问题。dom
OSS的话 则须要配置下跨域的权限ide
视频直接 存服务器的话 要工具
播放器跨域访问时须要添加策略文件,即在视频播放连接所在域名的根目录下添加 crossdomain.xml 文件,其中添加播放器所在域名的权限。例如:spa
http://test1.com/app/test.m3u8
须要添加http://test1.com/crossdomain.xml
。code
<?xml version="1.0" encoding="UTF-8"?> <cross-domain-policy> <allow-access-from domain="*"/> <allow-http-request-headers-from domain="*" headers="*" secure="false"/> </cross-domain-policy>