ffmpeg实现HLS视频防盗(m3u8分片)

ffmpeg处理视频,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端:

   

来源  https://www.cnblogs.com/daipianpian/p/7609156.html

 

我的热门文章推荐

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ffmpeg是一个开源的跨平台多媒体处理工具,可以实现将MP4视频文件转换为M3U8格式。以下是一种常见的使用ffmpeg实现MP4转M3U8的方法: 1. 首先,将MP4文件切片成TS格式,创建M3U8清单。可以使用以下命令来实现: ``` ffmpeg -i demo.mp4 -profile:v baseline -level 3.0 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls demo.m3u8 ``` 这个命令将会把demo.mp4文件切片成TS格式,并生成一个名为demo.m3u8的M3U8清单文件。 2. 如果需要批量执行MP4转M3U8操作,可以使用像引用中提供的PHP脚本一样的方法。这个脚本将遍历一个视频文件数组,针对每个视频文件执行MP4转M3U8的操作。 3. 如果已经拥有一个包含TS清单的M3U8文件,可以使用以下命令将其转换为MP4文件: ``` ffmpeg -i https://xxx.com/index.m3u8 -acodec copy -vcodec copy -absf aac_adtstoasc xxx.mp4 ``` 这个命令将会下载并解析名为index.m3u8的M3U8文件,并将其中的TS流合并为一个MP4文件,保存为xxx.mp4。 总结起来,FFmpeg可以通过切片MP4文件并生成M3U8清单文件来实现MP4转M3U8的功能。同时,也可以通过解析包含TS清单的M3U8文件来将其转换为MP4文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用ffmpeg进行mp4与m3u8之间转换](https://blog.csdn.net/shamqu/article/details/114042996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值