CN102624752B - 一种m3u8直播流防盗链方法和系统 - Google Patents
一种m3u8直播流防盗链方法和系统 Download PDFInfo
- Publication number
- CN102624752B CN102624752B CN201110028367.0A CN201110028367A CN102624752B CN 102624752 B CN102624752 B CN 102624752B CN 201110028367 A CN201110028367 A CN 201110028367A CN 102624752 B CN102624752 B CN 102624752B
- Authority
- CN
- China
- Prior art keywords
- file
- live
- address
- random
- file address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种M3U8直播流防盗链方法和系统,把暴露在公众面前m3u8文件的真实地址隐藏起来,让用户看到的是一个在一段时间内有效的随机m3u8文件地址,在这段时间内用户可以对这个随机m3u8文件包含的流媒体进行直播,如果超出这段时间,那么这个随机m3u8文件地址失效。采用了本发明的技术方案,即使盗链用户在这段时间内获得了这个随机m3u8地址,也只能盗链这一段时间内的直播流,从而能够有效地防止非法用户的盗链行为,并且提高对直播服务的处理能力。
Description
技术领域
本发明涉及流媒体技术领域,尤其涉及一种M3U8直播流防盗链方法和系统。
背景技术
常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,HTTP 渐进下载的方法中以苹果公司的 HTTP Live Streaming 为代表。其最初是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的流,现在在桌面也有很多应用了,如HTML5 直接支持这种方式。
一般直播技术中,播放模式中必须等待整个文件下载完才行,在HLS (HTTP Live Streaming)技术中WEB服务器向客户端提供接近实时的音视频流,但在使用的过程中是使用的标准的 HTTP 协议,所以这时只要使用 HLS 的技术,就能在普通的 HTTP 的应用上直接提供点播和直播。
现有的HLS工作原理是从视频采集、编码器、流分割、普通WEB服务(索引文件和视频文件)到客户端。
内容准备的过程大约有两种,一是视频采集,编码器首先将卫星或有线信号实时采集的音视频数据压缩编码为符合特定标准的音视频基本流(H264+AAC),第二是已经完成编码的音视频文件(使用H.264视频和AAC音频),然后将这些封装成为符合MPEG-2(MPEG 2 TS、MPEG2 PS,之所以使用这个,主要是因为音频和视频会交织在一起,也会有关键帧来让视频可以直接播放)。
流分割部分是将MPEG-2 分割成很多个TS的文件。分割过程大多是按时间来切,可以切10秒一个的文件,如果码流高可以5秒一次。在分割还有一点不同,就是这时流分割器会生成一个含有指向这些小TS文件指针的索引文件。所以这个文件也必须在WEB服务器上,不能少。每多10秒时,就会增加一个TS文件,所以索引文件也会随着修改成最新的几段视频。
然后这些切分了的小的一系列的TS文件,放到普通的WEB服务器中就行了。这时客户端请求这些文件会使用标准的 HTTP 协议。索引文件后缀是.M3U8,索引文件采用扩展的M3U8播放列表格式,其实就一文本文件。
内部的视频的地址描述如下:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:9622212
#EXTINF:10,
http://live.tvmining.com/cctv/CCTV1_512000_20110118_162202654_9622212.ts
#EXTINF:10,
http://live.tvmining.com/cctv/CCTV1_512000_20110118_162212654_9622213.ts
#EXTINF:10,
http://live.tvmining.com/cctv/CCTV1_512000_20110118_162222654_9622214.ts
同时修改WEB服务器的 MIME输出信息,目的是修改加入TS和 M3U8的后缀支持
.M3U8 application/x-mpegURL
.ts video/MP2T
最后就是客户端,如果是HTML,直接在HTML5 中支持这种视频可以使用如下标签:
<video tabindex="0" height="480" width="640">
<source src="/cctv/cctv1.M3U8">
</video>
如果是应用客户端(Safari QuickTime之类),就需要装软件来支持,客户端会根据video标签中给定的M3U8文件索引来下载TS文件,当下载了最少二段后开始播放,直到 M3U8文件的索引结束,如果没有结束客户端会不断的下载video中给定的M3U8文件来判断是否有新添加进来的流媒体文件,如果有添加就下载并播放。另外,HTTP服务器可以设计成的自适应比特率流,在不同网络环境,选择下载不同码流的视频。 所以整个HTTP Live Streaming 无论是直播还是点播,都能做到近似实时的方式来进行流播放,理论的最小时延是每个切片的长。
但是在上述HLS架构的播放过程当中,因为video标签是嵌入的WEB浏览器中的,任何人只要打开web浏览器的源代码查看,就能获得这个M3U8文件的直播流,如果用户把这个M3U8文件嵌入到自己的网站,而M3U8文件是使用HTTP方式下载,M3U8文件又是一个文本文件,无法在HTTP服务器上做防盗链控制,这样盗链者就成功的实现直播流的盗链。
如果直播流被成功盗链,提供直播服务的厂家由于本身也在对外提供直播服务,但又由于HTTP的协议规定原因,无法区分是合法的用户在使用直播流还是被盗链用户使用直播流,这样提供直播服务的厂家将蒙受巨大损失,其中包括服务器、带宽和合法用户的并发数等。
发明内容
本发明的目的在于提出一种M3U8直播流防盗链方法和系统,能够有效地防止非法用户的盗链行为,并且提高对直播服务的处理能力。
为达此目的,本发明采用以下技术方案:
一种M3U8直播流防盗链方法,包括以下步骤:
A、存储播放M3U8直播流合法用户的资料;
B、用户通过WEB浏览器请求M3U8直播流的同时发送用户资料,HTTP服务器根据存储的合法用户的资料对用户资料进行验证,如果没有通过验证,向WEB浏览器反馈用户权限不够的信息,如果通过验证,转至步骤C;
C、HTTP服务器将M3U8文件的真实地址映射成一个随机M3U8文件地址,并设置所述随机M3U8文件地址的有效期限;
D、HTTP服务器将所述随机M3U8文件地址返回给WEB浏览器;
E、WEB浏览器获得所述随机M3U8文件地址,解析对应的M3U8文件中包含的TS碎片音视频流进行直播播放;
F、当所述随机M3U8文件地址的有效期限结束后,所述随机M3U8文件地址被销毁,重复步骤B至步骤E,直到直播结束。
一种M3U8直播流防盗链系统,包括视频采集编码及碎片处理器、TS碎片存储器、HTTP服务器、用户资料存储器和WEB浏览器,视频采集编码及碎片处理器、TS碎片存储器、HTTP服务器和WEB浏览器依次连接,用户资料存储器与HTTP服务器连接,其中,
视频采集编码及碎片处理器用于对音视频信号进行采集和编码,并将持续的音视频流封装和拆分成TS碎片音视频流;
TS碎片存储器用于存储TS碎片音视频流;
HTTP服务器用于根据用户资料存储器中合法用户的资料验证用户,将M3U8文件的真实地址映射成一个随机M3U8文件地址,返回给WEB浏览器,并设置所述随机M3U8文件地址的有效期限,到期后销毁所述随机M3U8文件地址;
用户资料存储器用于存储合法用户的资料;
WEB浏览器用于向HTTP服务器发送用户资料,并获取随机M3U8文件地址,解析所述随机M3U8文件地址中包含的TS碎片音视频流进行直播播放。
采用了本发明的技术方案,可以有效地防止非法用户的防盗链行为,保护了所有者的劳动成果,同时提高对直播服务的处理能力,降低运营成本,另外不影响合法用户的直播服务请求,保护了合法用户的合法权益。
附图说明
图1是本发明具体实施方式中M3U8直播流防盗链系统的结构示意图。
图2是本发明具体实施方式中M3U8直播流防盗链的流程图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
本发明技术方案的主要思想是如果能够把暴露在公众面前m3u8文件的真实地址隐藏起来,让用户看到的是一个在一段时间内有效的随机m3u8文件地址,在这段时间内用户可以对这个随机m3u8文件包含的流媒体进行直播,如果超出这段时间,那么这个随机m3u8文件地址失效,即使盗链用户在这段时间内获得了这个随机m3u8地址,也只能盗链这一段时间内的直播流。
图1是本发明具体实施方式中M3U8直播流防盗链系统的结构示意图。如图1所示,该M3U8直播流防盗链系统包括视频采集编码及碎片处理器101、TS碎片存储器102、HTTP服务器103、用户资料存储器104和WEB浏览器105。
视频采集编码及碎片处理器、TS碎片存储器、HTTP服务器和WEB浏览器依次连接,用户资料存储器与HTTP服务器连接。
视频采集编码及碎片处理器对音视频信号进行采集和编码,并将持续的音视频流封装和拆分成TS碎片音视频流。
TS碎片存储器存储TS碎片音视频流。
HTTP服务器根据用户资料存储器中合法用户的资料验证用户,将M3U8文件的真实地址映射成一个随机M3U8文件地址,返回给WEB浏览器,并设置随机M3U8文件地址的有效期限,到期后销毁随机M3U8文件地址;
用户资料存储器存储合法用户的资料;
WEB浏览器向HTTP服务器发送用户资料,并获取随机M3U8文件地址,解析随机M3U8文件地址中包含的TS碎片音视频流进行直播播放。
在M3U8直播流防盗链的流程之前,要完成M3U8直播流的准备工作。首先由视频采集编码及碎片处理器对卫星及有线电视信号进行采集编码(H264+AAC),并把持续的音视频流封装和拆分成10秒或者5秒一段的TS碎片音视频流,然后利用TS碎片存储器把TS碎片音视频流保存起来,并对TS碎片音视频流建立m3u8文件索引。
图2是本发明具体实施方式中M3U8直播流防盗链的流程图。如图2所示,该M3U8直播流防盗链的流程包括以下步骤:
步骤201、用户资料存储器存储播放M3U8直播流合法用户的资料,以备验证,并为下一步直播的提供建立相关数据。
步骤202、用户通过WEB浏览器请求M3U8直播流的同时发送用户资料。
步骤203、HTTP服务器根据存储的合法用户的资料对用户资料进行验证,如果没有通过验证,转至步骤204,如果通过验证,转至步骤205。
步骤204、向WEB浏览器反馈用户权限不够的信息。
步骤205、HTTP服务器将M3U8文件的真实地址映射成一个随机M3U8文件地址,并设置随机M3U8文件地址的有效期限。
步骤206、HTTP服务器将随机M3U8文件地址返回给WEB浏览器。
步骤207、WEB浏览器获得随机M3U8文件地址,解析对应的M3U8文件中包含的TS碎片音视频流进行直播播放。
步骤208、当随机M3U8文件地址的有效期限结束后,随机M3U8文件地址被销毁,重复步骤202至步骤207,直到直播结束。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (2)
1.一种M3U8直播流防盗链方法,其特征在于,包括以下步骤:
A、存储播放M3U8直播流合法用户的资料;
B、用户通过WEB浏览器请求M3U8直播流的同时发送用户资料,HTTP服务器根据存储的合法用户的资料对用户资料进行验证,如果没有通过验证,向WEB浏览器反馈用户权限不够的信息,如果通过验证,转至步骤C;
C、HTTP服务器将M3U8文件的真实地址映射成一个随机M3U8文件地址,并设置所述随机M3U8文件地址的有效期限;
D、HTTP服务器将所述随机M3U8文件地址返回给WEB浏览器;
E、WEB浏览器获得所述随机M3U8文件地址,解析对应的M3U8文件中包含的TS碎片音视频流进行直播播放;
F、当所述随机M3U8文件地址的有效期限结束后,所述随机M3U8文件地址被销毁,重复步骤B至步骤E,直到直播结束。
2.一种M3U8直播流防盗链系统,其特征在于,包括视频采集编码及碎片处理器、TS碎片存储器、HTTP服务器、用户资料存储器和WEB浏览器,视频采集编码及碎片处理器、TS碎片存储器、HTTP服务器和WEB浏览器依次连接,用户资料存储器与HTTP服务器连接,其中,
视频采集编码及碎片处理器用于对音视频信号进行采集和编码,并将持续的音视频流进行封装,再拆分成TS碎片音视频流;
TS碎片存储器用于存储TS碎片音视频流;
HTTP服务器用于根据用户资料存储器中合法用户的资料验证用户,将M3U8文件的真实地址映射成一个随机M3U8文件地址,返回给WEB浏览器,并设置所述随机M3U8文件地址的有效期限,到期后销毁所述随机M3U8文件地址;
用户资料存储器用于存储合法用户的资料;
WEB浏览器用于向HTTP服务器发送用户资料,并获取随机M3U8文件地址,解析所述随机M3U8文件地址中包含的TS碎片音视频流进行直播播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110028367.0A CN102624752B (zh) | 2011-01-26 | 2011-01-26 | 一种m3u8直播流防盗链方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110028367.0A CN102624752B (zh) | 2011-01-26 | 2011-01-26 | 一种m3u8直播流防盗链方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102624752A CN102624752A (zh) | 2012-08-01 |
CN102624752B true CN102624752B (zh) | 2014-06-18 |
Family
ID=46564436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110028367.0A Expired - Fee Related CN102624752B (zh) | 2011-01-26 | 2011-01-26 | 一种m3u8直播流防盗链方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102624752B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243430A (zh) * | 2013-06-20 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种流媒体播放方法及装置 |
TWI533678B (zh) * | 2014-01-07 | 2016-05-11 | 緯創資通股份有限公司 | 即時轉播同步方法以及使用該方法的系統 |
CN104471918B (zh) | 2014-03-24 | 2017-11-03 | 华为技术有限公司 | 文件下载方法、装置和系统 |
CN103957436B (zh) * | 2014-05-13 | 2016-09-07 | 北京清源新创科技有限公司 | 一种基于ott业务的视频防盗链方法 |
CN105933310A (zh) * | 2016-04-20 | 2016-09-07 | 乐视控股(北京)有限公司 | 防盗链方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976441A (zh) * | 2005-11-18 | 2007-06-06 | 阿尔卡特公司 | 请求媒体资源传递的方法、媒体服务器、应用服务器和客户机设备 |
CN101212647A (zh) * | 2007-07-18 | 2008-07-02 | 中国科学技术大学 | 一种基于hfc双向网络的流媒体业务实现方法及设备 |
CN101583083A (zh) * | 2009-06-01 | 2009-11-18 | 中兴通讯股份有限公司 | 一种实时数据业务的实现方法和实时数据业务系统 |
CN101938483A (zh) * | 2010-09-03 | 2011-01-05 | 中兴通讯股份有限公司 | 一种直播内容分发方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978022B2 (en) * | 2000-10-26 | 2005-12-20 | General Instrument Corporation | System for securing encryption renewal system and for registration and remote activation of encryption device |
KR100926007B1 (ko) * | 2005-10-07 | 2009-11-11 | 에이저 시스템즈 인크 | 스트리밍 및 제어 처리를 위한 별도의 구성을 이용한미디어 데이터 프로세싱 |
-
2011
- 2011-01-26 CN CN201110028367.0A patent/CN102624752B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976441A (zh) * | 2005-11-18 | 2007-06-06 | 阿尔卡特公司 | 请求媒体资源传递的方法、媒体服务器、应用服务器和客户机设备 |
CN101212647A (zh) * | 2007-07-18 | 2008-07-02 | 中国科学技术大学 | 一种基于hfc双向网络的流媒体业务实现方法及设备 |
CN101583083A (zh) * | 2009-06-01 | 2009-11-18 | 中兴通讯股份有限公司 | 一种实时数据业务的实现方法和实时数据业务系统 |
CN101938483A (zh) * | 2010-09-03 | 2011-01-05 | 中兴通讯股份有限公司 | 一种直播内容分发方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102624752A (zh) | 2012-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9351020B2 (en) | On the fly transcoding of video on demand content for adaptive streaming | |
Sodagar | The mpeg-dash standard for multimedia streaming over the internet | |
JP5728736B2 (ja) | コーデック適用フレーム・サイズでの音声スプリッティング | |
JP5619908B2 (ja) | 符号化ビデオ・データのストリーミング | |
KR101066366B1 (ko) | 멀티미디어 컨텐츠 방송용 원격 통신 시스템, 서버, 멀티미디어 컨텐츠 방송 방법, 컴퓨터 판독가능 저장 매체 및 신호 전달 매체 | |
US9258333B2 (en) | Method for recovering content streamed into chunk | |
US8818021B2 (en) | Watermarking of digital video | |
US9113177B2 (en) | Methods, apparatuses and computer program products for pausing video streaming content | |
US20130042100A1 (en) | Method and apparatus for forced playback in http streaming | |
CN102624752B (zh) | 一种m3u8直播流防盗链方法和系统 | |
EP3183882A1 (en) | Content management based on dither-like watermark embedding | |
WO2007018726A2 (en) | System and method for providing pre-encoded audio content to a television in a communications network | |
WO2003058508A2 (en) | Methods and systems for providing streaming media content in existing video delivery systems | |
EP2923498A1 (en) | Obtaining a version of an item of content | |
WO2015192683A1 (zh) | 一种基于码流自适应技术的内容分发方法、装置及系统 | |
US8850496B2 (en) | Dynamic provisioning of closed captioning to user devices | |
US8850590B2 (en) | Systems and methods for using transport stream splicing for programming information security | |
CN108174284B (zh) | 一种基于Android系统的解码视频的方法 | |
US20220272395A1 (en) | Per-segment parameters for content | |
Yang et al. | Implementation of HTTP live streaming for an IP camera using an open source multimedia converter | |
Yang et al. | A new mobile streaming system base-on http live streaming protocol | |
WO2017207861A1 (en) | An arrangement for media stream organization | |
KR20160036924A (ko) | 사용기기에 독립적인 라이브 스트리밍 시스템 | |
CN101193101A (zh) | 一种媒体流的传送/切换系统 | |
Sodagar | Industry and standards |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Anti-hotlinking method and system for M3U8 live streaming Effective date of registration: 20170401 Granted publication date: 20140618 Pledgee: Silicon Valley Bank Co., Ltd. Pledgor: TVMining (Beijing) Media Technology Co., Ltd. Registration number: 2017310000019 |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140618 Termination date: 20210126 |