hls流媒体视频防盗实现

Posted 一片天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hls流媒体视频防盗实现相关的知识,希望对你有一定的参考价值。

 HLS流媒体视频防盗实现

一、Windows安装FFmpeg

1.1 安装版本

1.1.1 网址:https://ffmpeg.org/

1.1.2 选择Windows版本:https://ffmpeg.org/download.html#build-windows

 

 

1.2 解压安装:

1.2.1 下载并解压FFmpeg文件夹,它会生成一个类似名为“ffmpeg-20150504-git-eb9fb50-win32-static”的新文件夹:

    

 

1.2.2 打开你想安装的任意磁盘,例如:d盘。新建一个名为“ffmpeg”的文件夹,将第二步解压生成的文件夹中的内容全部拷贝到“ffmpeg”文件夹中:

    

 

1.3配置FFmpeg环境变量:

1.3.1 点击开始菜单,再点击控制面板,再点击系统与安全,再点击系统,然后点击高级系统设置,跳出系统属性窗口后,最后点击环境变量按钮:

   

 

1.3.2 点击环境变量按钮后,跳出环境变量窗口,找到并选中“Path”变量,点击编辑:

   

 

1.3.3 “Path”变量原有变量值内容上加上“;d:\\ffmpeg\\bin”(注:;代表间隔,不可遗漏;d:\\ffmpeg\\bin代表FFmpeg的安装路径下的bin文件夹),一路点击确定即可。

   

 

1.3.4 打开命令提示符窗口。输入命令“ffmpeg  –version”。如果命令提示窗口返回FFmpeg的版本信息,那么就说明安装成功了,你可以在命令提示行中任意文件夹下运行FFmpeg

   

 

二、ffmpeg对mp4文件进行ts切片并生成m3u8文件

2.1 先用ffmpeg把abc.mp4文件转换为abc.ts文件:

ffmpeg -y -i abc.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb abc.ts

    

2.2 再用ffmpeg把abc.ts文件切片并生成playlist.m3u8文件,10秒一个切片:

ffmpeg -i abc.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 10 abc%03d.ts

   

2.3 生成切片结果

 

三、将生成的m3u8文件在Pc端和移动端均正常播放

3.1 引入视频直播插件

GitHub地址:https://github.com/daipianpian/hLive

##基于videojs的视频直播播放器 演示地址 ####引入相应js和css,在页面添加相应播放器代码既可解析播放m3u8格式直播流,播放器格式如下

 

demo中source视频路径为本地src文件夹下测试视频,根据自己需求进行更改

       <video id="my_video_1" class="video-js vjs-default-skin" controls preload="auto" width="1000" height="500" data-setup=\'{}\'>

              <source src="./src/z.m3u8" type="application/x-mpegURL">

       </video>

 

3.2 本地demo

3.2.1 文件结构:

   

 

3.2.2 核心代码:

  <video id="my_video_1" class="video-js vjs-default-skin" controls preload="auto" width="1000" height="500"

  data-setup=\'{}\'>

    <source src="video/playlist.m3u8" type="application/x-mpegURL">

  </video>

3.2.3 实现效果:

PC端:

   

 

移动端:

 

 

以上是关于hls流媒体视频防盗实现的主要内容,如果未能解决你的问题,请参考以下文章

JavaCV音视频开发宝典:JavaCV实现mp3音频直播FM在线电台服务,无需流媒体服务,浏览器原生audio标签直接播放mp3,支持rtsp/rtmp/flv/hls/本地音视频源直接转码到mp3

JavaCV音视频开发宝典:JavaCV实现mp3音频直播FM在线电台服务,无需流媒体服务,浏览器原生audio标签直接播放mp3,支持rtsp/rtmp/flv/hls/本地音视频源直接转码到mp3

网易视频云:用Nginx搭建flv,mp4,hls流媒体服务器

引发 bufferstallederror 时 Hls 视频中断

EasyPlayer流媒体播放器播放HLS视频,起播速度慢的技术优化

流媒体通信协议HLS与DASH的对比