基于HLS协议视频流的分析处理技术探讨_彭莲香.pdf
《基于HLS协议视频流的分析处理技术探讨_彭莲香.pdf》由会员分享,可在线阅读,更多相关《基于HLS协议视频流的分析处理技术探讨_彭莲香.pdf(3页珍藏版)》请在咨信网上搜索。
1、基于 HLS 协议视频流的分析处理技术探讨彭莲香郭星涛(内蒙古自治区大数据中心,内蒙古 呼和浩特010010)HTTP Live Streaming(以下简称HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。它的特点是将容量巨大的媒体数据流分割成连续的ts分片,然后在服务端建立对这些ts分片的extend M3U(m3u8)playlist索引文件。客户端基于HTTP的方式向服务器请求m3u8文件并进行解析,向服务器连续的请求下载ts分片来实现完整的播放1。当播放媒体流时,客户端可以选择从不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率,根据网络质量完成
2、视频清晰度的切换2。随着HTML5标准的兴起,Web浏览器在各方面都有了很大的提升,许多基于HLS协议的视频可同时在移动端和PC端播放,比如课程学习、电影电视剧、广播电视网络直播系统3等,但其都存在无法下载、无法二次剪辑创作等问题。文献4采用Python语言进行程序设计,借助爬虫技术实现视频文件的自动化下载和拼接,实现了视频资源的本地化保存。本文对基于HLS协议的视频流传输技术进行分析,提出了多种方式来实现视频流下载和处理的功能,对提升大数据时代下视频流智能化分析处理能力进行了探索。1HLS介绍1.1基于HLS的视频流播放基于HLS协议的视频播放过程如图1所示,首先是由服务器采集并编码传输视频
3、到切片器,切片器对视频创建索引文件,并且切割成n个ts文件,将索引文件和ts文件传输到HTTP服务器上,网站/客户端根据索引文件查找HTTP服务器上的ts文件,连续播放这n个ts文件,就实现视频播放,并且可以根据网络状况自动切换视频的清晰度。1.2 m3u8与ts文件结构索引文件即m3u8文本文件,如图2所示。#EXT-X-VER-SION为M3U8文件的版本,常见的是3。#EXT-X-TARGET-DURATION指定当前视频流中的切片文件的最大时长,也就是说这些ts切片的时长不能大于#EXT-X-TARGETDURATION的值。#EXT-X-MEDIA-SEQUENCE是m3u8直播是的
4、直播切换序列,当播放打开m3u8时,以这个标签的值作为参考,播放对应的序列号的切片。#EXT-X-PLAYLIST-TYPE:VOD的意思是当前的视频流是一个点播流,即该视频的全部的ts文件已经被生成好了。#EXTINF:EXTINF为m3u8列表中每一个分片的duration。#EXTINF表示每个ts切 片视 频 文 件 的时 长。#EXT-X-ENDLIST表 明m3u8文 件不会再产生更多的切片,可以理解为该m3u8已停止更新,并且播放分片到这个标签后结束。2其他相关技术介绍HLS视频流解析获取的主流技术有Python、JavaScript和TamperMonkey,ts视频文件格式转
5、换整合主要由FFmpeg实现。2.1 PythonPython是一种面向对象、解释型、弱类型的脚本语言,也是一种功能强大且完善的通用型语言5,其具有语法简单、可视化、第三方模块丰富以及适合应用于网络环境等优点6。在Python中常 用 的HTTP网 络请 求 库大 致 包 括urllib、httplib2、request等。其中,urllib是Python中请求url连接的官方标准库,在Python2中主要为urllib和urllib2,在Python3中整合成了urllib。urllib中一共有四个模块,分别如下:request主要负责构造和发起网络请求,定义了适用于在各种复杂情况下Disc
6、ussion of Analysis and Processing Technology of Video Stream Based on HLS Protocol摘要:为了提高HLS协议产生的ts切片视频流后续分析处理能力,基于HLS分段策略和视频传输原理,分析运用Python、Nodejs、浏览器插件等不同技术获取视频,利用FFmpeg软件进行视频分析处理,并进行了程序及技术路线设计,取得了较好的结果,对于HLS视频流技术的应用推广具有借鉴意义。关键词:HLS;ts视频流;m3u8;Python;FFmpegAbstract:In order to improve the subseque
7、nt analysis and processing capability of ts slice video stream generated byHLS protocol,based on HLS segmentation strategy and video transmission principle,this paper proposes to acquire videothrough Python,Nodejs,browser plug-in and other different technologies,analyzes and processes video through
8、FFmpegsoftware,and designs the program and technical route.Good results have been obtained,which can be used as a refer-ence for the application and promotion of HLS video streaming technology.Keywords:HLS,ts stream,m3u8,Python,FFmpeg图1视频播放流程图图2索引文件结构基于HLS协议视频流的分析处理技术探讨62工业控制计算机2023年第36卷第1期打开URL(主要为
9、HTTP)的函数和类;error为处理异常;parse可以解析各种数据格式;robotparser用于解析robot.txt文件。常用的网页解析库包括pyquery、BeautifulSoup、lxml等。其中,BeautifulSoup是Python用来解析获取的网页源代码的一个库,它提供了一些简单的、Python式的函数用来处理导航、搜索、修改分析树等功能,同时它也是一个工具箱,通过解析文档为用户提供需要抓取的数据。对于解析高度结构化的HTML,相较于正则表达式,用BeautifulSoup能更快速便捷地进行解析和提取。2.2 NodejsNodejs是一个能够在服务器端运行JavaScr
10、ipt的开放源代码,是一个跨平台JavaScript运行环境。它采用Google开发的V8引擎运行js代码,使用事件驱动、非阻塞和异步模型等技术来提高性能,可优化应用程序的传输量和规模。request是一个Nodejs模块,以npm包的形式提供,是一个简单的HTTP客户端,通过它可方便地实现HTTP请求。fs模块是指在nodejs中进行的所有与文件相关的操作。2.3浏览器扩展浏览器扩展是用于扩充浏览器功能的程序,主要用于对浏览器功能的增强,它更强调与浏览器相结合。通过扩展可以对用户当前浏览的页面进行操作,即对用户当前浏览页面的DOM进行操作,当用户访问这些页面后,相应脚本即可自动运行,从而实现
11、对页面DOM进行任意增、删、改等复杂操作。而它的界面则使用HTML和CSS进行描述,这样可以用很短的时间构建出赏心悦目的UI。同时JavaScript是一门解释语言,无需对其配置编译器,调试代码时只要刷新一下浏览器就可以看到修改后的结果,这使得开发周期大大缩短7。2.4 FFmpegFFmpeg是一款音视频编解码工具,同时也是一组音视频编码的开源开发套件,为开发者提供了丰富的音视频处理的调用接口。它提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种多彩格式转换、多种采样率转换、多种码率转换等,包含了非常先进的音频/视频编解码库libavcodec。为了保证高可移植性和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 HLS 协议 视频 分析 处理 技术 探讨 彭莲香
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。