利用nginx/ffmpeg将mp4格式的文件转换成m3u8流,并利用web服务器进行发布
hls测试流简易部署全过程
web开发的过程中有时候会遇到缺少hls在线测试流的情况,这个时候就需要我们自己搭建可用的测试流服务。
第一步将下载的视频切片成m3u8
在此操作之前我们需要用到ffmpeg(点击下载). FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec。
下载安装完之后我们可以调用如下命令:
ffmpeg -i yoursource.mp4 -f segment -segment_time 60 -segment_format mpegts -segment_list yourtarget.m3u8 -c copy -bsf:v h264_mp4toannexb -map 0 yourtarget-%04d.ts
上述命令会按照60s的间隔对mp4文件进行切片。
第二步将切片的文件部署到web服务器中发布
以下是nginx服务器的简单部署配置示例
server {
listen 80;
index index.html;
server_name xxxxxx; // 服务名
location /{
add_header Access-Control-Allow-Origin *; //允许跨域
root /xxxx/videoPath; //视频切片存放路径
}
}
完成以上配置之后直接访问m3u8文件的web地址即可播放视频流