hls,全称为HLS (HTTP Live Streaming),Apple的动态码率自适应技术。在我理解就是通过http的方式播放流媒体。
我觉得这里需要掌握的几个知识点:
1. TS文件格式
2. m3u8点播头
3. http协议, HTTP服务器架设
4. 流媒体播放时的渲染
////////////////////////////////
// 点播
1. 给定一个mp4文件, input.mp4,使用ffmpeg 将其转码为ts文件,命令为:ffmpeg -y -i input.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb output.ts
2. 使用ffmpeg将该ts转换为ts片段,并生成m3u8文件;
ffmpeg -i file.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 2 output%03d.ts
3. 在linux下架设一个HTTP服务器,这里我使用的是lighttpd这个开源的服务器。
部署完成后,将所得的ts分片以及m3u8文件一并放到www文件夹下。
然后使用vlc打开串流:http://192.168.0.20:18080/test_ts/playlist.m3u8就可以播放了。
参考:
1. http://my.oschina.net/u/2289067/blog/425514?p={{page}}\
2. http://blog.163.com/ljf_gzhu/blog/static/131553440201211522317367/