hls
文章平均质量分 83
g0415shenw
Stay hungry,Stay foolish
音视频交流群:759117824
GB28181技术交流群:708251501
UE4技术交流群:1036326334
展开
-
Hls之测试源
最近开始研究hls协议,需要寻找几个可以使用的hls测试源,记录如下:点播地址:http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8直播地址;CCTV1高清:http:...原创 2018-10-07 13:14:16 · 3177 阅读 · 0 评论 -
Hls之交互流程
hls协议分点播和直播两种方式,都是通过Http协议get命令来实现,直播抓包如下:第一步:获取节目列表请求命令:GET /hls/cctv3hd.m3u8 HTTP/1.1Host: ivi.bupt.edu.cnAccept: */*Accept-Language: zh_CNUser-Agent: VLC/3.0.2 LibVLC/3.0.2Range: byte...原创 2018-10-07 14:33:05 · 1848 阅读 · 0 评论 -
Hls之码流格式
把Hls的流写成文件,分析其码流格式。抓包如下: 写成文件格式: 用码流分析工具进行分析:码流分为PSI,TS,PES,ES进行研究。 前面4个字节定义如下:先取出4个字节进行分析吧47 40 00 102进制如下:0100 0111 0100 0000 0000 0000 0001 0000sync_byte :0100 011...原创 2018-10-14 15:03:23 · 3213 阅读 · 0 评论 -
Hls之TS流分离音视频
上一篇研究了码流格式,讲得比较理论,有点务虚。这一章开始来点实际的,从ts码流中分离出音视频。ts码流格式: ts流的解析重点其实就是先提取出pes包,再提取码流。...原创 2018-10-28 14:01:07 · 2038 阅读 · 0 评论 -
HLS之TS码流封装
在成功完成了从TS码流中提取出H264和AAC之后,开始一下最终的挑战,就是把H264封装成TS个数。这里想把码流的切片一起实现在里面。这里画了一个大概的实现图。 这个图主要是实现了切片的流程。我计划把一个gop里的视频组成一个ts文件。TS切片格式:每个ts切片第一个ts包(188字节肯定是包含pat信息) 每个ts切片第二个ts包肯定是pmt信息 然后开始是...原创 2018-11-04 20:43:00 · 1782 阅读 · 0 评论 -
Hls之http协议实现
Hls协议工作主要分为两大块,一块是http协议,一块是ts码流的封装。前面已经成功完成了ts码流的封装,下面的重点工作就是完成http协议的实现。我是C#的忠实粉丝,所以采用了HttpListener类来实现。 HttpListener listerner = new HttpListener { Authe...原创 2018-11-09 06:53:27 · 2174 阅读 · 0 评论 -
Hls之播放遇到的坑
Hls协议开发算告一段落,总结起来,最花时间而且还不容易搞定的居然是各种平台和浏览器的适配,一会安卓不可以,一会苹果不可以,一会微信内置浏览器又不可以。查的我好几天到好晚。现把遇到的坑总结一下,希望对其他朋友有所帮助。1、生成的ts切片的名字,千万不能有冒号(:)。如果有了,苹果浏览器直接播放不了了。2、微信内置浏览器必须是在用户点击出发后,进行播放,其他形式的播放全部不起效果。3...原创 2018-11-23 10:18:45 · 4775 阅读 · 2 评论 -
Hls之Hls.js源码解析
Hls协议后端开发工作,已经告一段落,开始正式进入前端web解码的研究。比较知名的是Hls.js的开源框架。最近主要工作就是研究其代码逻辑,以及框架结构,顺便学习一下js语法。目标:写一个适合自己使用的Hls解码的js库。在github上下载Hls.js的源码地址如下:https://github.com/video-dev/hls.js工程打开截图:Hls库核心思想是...原创 2018-12-09 23:29:10 · 8458 阅读 · 3 评论 -
安防视频之web无插件播放视频
本博文是个宣传帖子,主要介绍如何把安防摄像机的视频转成无插件Web播放。安防摄像机主要通过rtsp协议获取视频码流。Web预览通过Hls协议进行预览。结构图如下:这里我们提供一个转码服务,实现把安防的rtsp码流转成Hls码流。具体转换过程,可以参考我前面的博客,关于Hls协议的实现。本转码服务完成采用netcore开发(纯C#开发),支持跨平台部署。主要特点如下...原创 2018-12-10 14:11:42 · 2223 阅读 · 0 评论