ffmpeg处理mp4文件转换hls使用Video.js展示

一、下载ffmpeg

点击这里前往ffmpeg官网
在这里插入图片描述
选择windows合适的版本下载即可
安装完成后在bin目录下有这三个程序
在这里插入图片描述

二、配置环境变量


这里指定到bin目录下然后打开cmd进行测试
在这里插入图片描述
输入ffmpeg之后结果为这个即可。

三、将MP4文件进行切割hls处理转换成m3u8文件

在cmd窗口中输入以下命令:
ffmpeg -i xxxxxxx.mp4 -c:v libx264 -hls_time 
60 -hls_list_size 0 -c:a aac -strict -2 -f hls xxxxxxx.m3u8

其中:
地址可以是相对路径,也可以是绝对路径
指令具体的含义可以参考官方文档
参数解析:
-re :该参数表示ffmpeg将会按照当前视频的播放速率进行转码,这样就不会说切片的速度和播放速度不一致。不加这个参数,切片速度会非常快,客户端还来不及播放,列表已经被更新了。
-hls_time n :设置每片的长度,默认值为2,单位为秒。
-hls_list_size n :设置m3u8文件播放列表保存的最多条目,设置为0会保存有所片信息,默认值为5。一般用于直播流,点播文件可以设置成0,即全部保存。
-hls_wrap n :设置多少片之后开始覆盖,设置为0则不会覆盖,默认值为0。这个选项能够避免在磁盘上存储过多的片,而且能够限制写入磁盘的最多的片的数量。
以上参数可以自己尝试调整看看效果。

执行成功以后如果在目标文件机夹下会出现若干ts文件和一个m3u8文件

在这里插入图片描述

四、m3u8文件的播放

1.Video.js说明

Video.js 是一个通用的在网页上嵌入视频播放器的 JS 库,Video.js 自动检测浏览器对 HTML5 的支持情况,如果不支持 HTML5 则自动使用 Flash 播放器。(要支持ie低版本请下载5.4.3版 )
官网地址: https://videojs.com
API地址:https://docs.videojs.com/index.html

2.前端代码

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>视频播放</title>
    <!--<link href="/plugins/videojs/video-js.css" rel="stylesheet">-->
</head>
<body>
<video id=example-video width=800 height=600 class="video-js vjs-default-skin vjs-big-play-centered" controls poster="">
    <source
            src="/Temp/test.m3u8"
            type="application/x-mpegURL">
</video>
<input type="button" onClick="switchvideo()" value="switch"/>

<script th:src="@{/videojs/video.js}"></script>
<script th:src="@{/videojs/videojs-contrib-hls.js}"></script>
<script>
    var player = videojs('example-video');
    //player.play();

    function switchvideo(){
        player.src({
            src: '/Temp/test.m3u8',
            type: 'application/x-mpegURL',
            withCredentials: true
        });
        player.play();
    }
</script>

</body>
</html>

笔者使用了thymeleaf框架,基于springboot进行页面的请求控制,后期要加上springboot后台进行视频转码和参数传递,来控制前端进行视频的播放。
具体后端代码敬请期待!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值