当前位置: 萬仟网 > IT编程>网页制作>Html5 > Easydarwin加FFMPEG实现HLS流视频点播

Easydarwin加FFMPEG实现HLS流视频点播

2019年03月14日 07:23  | 萬仟网IT编程  | 我要评论

前言

下面介绍下实现hls流视频点播

具体实现:

easydarwin 一个开源的好用的流媒体平台框架。

ffmpeg  一个视频音频处理神器,就是用起来有点麻烦,必须保证命令正确。

ffmpeg将视频或者视频地址(rtsp,rtmp)转码推流到easydarwin做转发,ffmpeg将easydarwin视频做切片成m3u8文件。

网站直接访问m3u8文件,实现hls点播。算是一个粗糙的demo,具体可以根据需求更改。

参考:

ffmpeg:


流媒体具体命令参考


easydarwin:

easydarwin官网

github地址

下载地址

实现过程

easydarwin 下载解压之后如下:

 

现在这个已经很完善了,最开始用的使用bat文件启动,而且没有这个简洁,

easydarwin.ini 配置项和注意事项可以自己配置也可以使用默认配置。

单击 serviceinstall-easydarwin.exe 等待安装完成如下:

 

打开浏览器,输入 http://127.0.0.1:10008 可以看到设备当前运行状态和推流拉流的列表,效果界面如下:

 

测试视频地址:  rtsp://184.72.239.149/vod/mp4://bigbuckbunny_175k.mov

这个地址公开的,算是比较稳定的,以前测试可以用现在还是可以,有些地址就没办法访问了。

使用cmd输入  ffmpeg.exe -i "rtsp地址" -vcodec copy -acodec copy  -rtsp_transport tcp -f rtsp "推流地址"

rtsp默认为554端口,rtsp地址为最后实际使用的地址,推流为 rtsp://127.0.0.1/test.hls 127.0.0.1本地测试,远程为推流服务ip

例子: ffmpeg.exe -i rtsp://184.72.239.149/vod/mp4://bigbuckbunny_175k.mov -vcodec copy -acodec copy  -rtsp_transport tcp -f rtsp rtsp://127.0.0.1/test.hls

具体命令行参数详解参考:

每次使用。。。都是头大,用过之后吧命令记下来,需要更改就一个个看。

推流成功,cmd窗口如下会不停的刷新当前参数:

此时easydarwin网站推流列表会显示对应地址和可以拉流的地址如下:

验证该播放地址是否可以播放,可以使用vlc输入该地址测试。

此时推流和接收部分完成,只需要用ffmpeg获取播放地址的数据进行切片获取m3u8,网站播放。

在打开一个cmd,命令如下:

ffmpeg.exe -i rtsp://127.0.0.1/test.hls -fflags flush_packets -max_delay 2 -hls_flags delete_segments -hls_time 2 -g 30 ********\live.m3u8

红色部分,第一个为easydarwin转发的播放地址,第二个为live.m3u8文件的保存路径,成功之后效果图如下:

此时在网站中访问这个地址,就可以实现hls点播。

网站实现:

首先下载一个 hls.js的库文件:

代码实现:

<!doctype html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title></title>
    <script src="hls.js"></script> //下载的hls.js 文件路径
    <script>
        function btn_openhls() {
            var htmlvideo = document.getelementbyid("videopaly");
            htmlvideo.controls = true;
            var hls = new hls();
            hls.loadsource("/live.m3u8");//m3u8文件路径
            hls.attachmedia(htmlvideo);
            hls.on(hls.events.manifest_parsed, function () {
                htmlvideo.play();
            });
        }
    </script>
</head>
<body>
    <button onclick="btn_openhls()">打开hls视频</button>
    <video id="videopaly" width="300" height="300"></video>
</body>
</html>


这就是小编为您整理的资料,希望对您有所帮助,感谢支持萬仟网

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

◎已有 1 人评论

素兮   2019 -03-29 17:52:30
您好,您那有搭建和推流点播的教程吗?求,我想把本地视频放到服务器,然后进行点播功能
支持: 0 反对: 0 回复
Copyright © 2019  萬仟网 保留所有权利. 粤ICP备17035492号-1
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com