最近EasyDarwin群里有朋友是做酒店视频直播系统的,大概需求是这样的:从网络电视平台那里购买了一个直播源,直播源是按并发数收费的,如果能够只用一路客户端将这个直播源获取到酒店的内网,然后再在酒店内部进行分发,就可以节省大量费用了,我初略地给出一个能够帮助他快速实现需求的例子:
第一步:用ffmpeg将网络直播源拉取到内网,切片成m3u8+ts(这里我们假设直播源为:http://111.1.62.218/gitv_live/CCTV-1-HD/CCTV-1-HD.m3u8)
执行命令:ffmpeg -i http://111.1.62.218/gitv_live/CCTV-1-HD/CCTV-1-HD.m3u8 -f hls -hls_list_size 5 -hls_time 10 -hls_wrap 10 ./live/live.m3u8
生成文件到本地:
第二步:将m3u8目录映射到web服务器目录,我们这里以windows的IIS(需要在MIME类型里面添加.m3u8和.ts类型)为例:
第三步:请求直播(任何支持HLS的播放器都可以播放,我们这里以vlc为例,web可以采用ckplayer、flowplayer等):