先安裝好 安裝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>