zoukankan      html  css  js  c++  java
  • 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:ffmpegin”(注:;代表间隔,不可遗漏;d:ffmpegin代表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端:

       

    移动端:

     

  • 相关阅读:
    简单的语句统计所有用户表尺寸大小
    CodeSmith 介绍
    Oracle Partition By 的使用
    Oracle Contact By的使用
    正则提取 html 里<input> 标记的value 值
    IOS 7 风格Checkbox
    aspose words 介绍
    大规模web 服务开发技术
    数学之美 读后感
    工作流简介--(转)
  • 原文地址:https://www.cnblogs.com/daipianpian/p/7609156.html
Copyright © 2011-2022 走看看