CN103414733A - Hls流媒体的播放方法及系统 - Google Patents

Hls流媒体的播放方法及系统 Download PDF

Info

Publication number
CN103414733A
CN103414733A CN2013103955185A CN201310395518A CN103414733A CN 103414733 A CN103414733 A CN 103414733A CN 2013103955185 A CN2013103955185 A CN 2013103955185A CN 201310395518 A CN201310395518 A CN 201310395518A CN 103414733 A CN103414733 A CN 103414733A
Authority
CN
China
Prior art keywords
file
files
media
stream media
hls
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.)
Granted
Application number
CN2013103955185A
Other languages
English (en)
Other versions
CN103414733B (zh
Inventor
高祺
申青平
王振兴
陈永华
田俊霞
徐伟
陈奕奕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baishitong Network TV Technology Development Co Ltd
Original Assignee
Baishitong Network TV Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Baishitong Network TV Technology Development Co Ltd filed Critical Baishitong Network TV Technology Development Co Ltd
Priority to CN201310395518.5A priority Critical patent/CN103414733B/zh
Publication of CN103414733A publication Critical patent/CN103414733A/zh
Application granted granted Critical
Publication of CN103414733B publication Critical patent/CN103414733B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明适用于流媒体技术领域,提供了一种HLS流媒体的播放方法,包括步骤有:索引文件处理步骤,当FLASH播放器获取HLS流媒体的索引文件后,解析所述索引文件并生成媒体播放列表;TS文件获取步骤,根据所述媒体播放列表,获取所述HLS流媒体的TS流媒体文件;TS文件转封装步骤,在所述FLASH播放器内部将所述TS流媒体文件实时进行转封装及播放。相应地,本发明还提供一种HLS流媒体的播放系统。借此,本发明使得Flash播放器可以完全支持HLS协议,并且能够高效、直接地播放TS流媒体文件。

Description

HLS流媒体的播放方法及系统
技术领域
本发明涉及流媒体技术领域,尤其涉及一种HLS流媒体的播放方法及系统。
背景技术
Adobe Flash Player(简称Flash播放器)是由Adobe公司开发的多媒体播放器,其可跨操作系统和浏览器、原汁原味地呈现具有表现力的应用、内容和视频。Flash播放器免费用于互联网应用,广泛用作音视媒体播放。
HLS(HTTP Live Streaming,超文本直播流)协议是由苹果公司创立,针对iPhone,iPad等通信终端设计的,基于HTTP(HyperText Transfer Protocol,超文件传输协议)的流媒体传输交互协议,并且HLS协议支持自动码率适配,在HLS技术中Web服务器向通信终端提供接近实时的音视频流。
但是,现有Flash播放器并不能直接播放基于HLS的流媒体文件,并且现有Flash播放器也不能直接播放TS(Transport Stream,传输流)流媒体文件,所述TS流媒体文件是指TS封装的H.264编码流媒体文件。
综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种HLS流媒体的播放方法及系统,其使得Flash播放器可以完全支持HLS协议,并且能够高效、直接地播放TS流媒体文件。
为了实现上述目的,本发明提供一种HLS流媒体的播放方法,包括步骤有:
索引文件处理步骤,当FLASH播放器获取HLS流媒体的索引文件后,解析所述索引文件并生成媒体播放列表;
TS文件获取步骤,根据所述媒体播放列表,获取所述HLS流媒体的TS流媒体文件;
TS文件转封装步骤,在所述FLASH播放器内部将所述TS流媒体文件实时进行转封装及播放。
根据本发明所述的播放方法,所述TS文件转封装步骤包括:
在所述FLASH播放器内部将所述TS流媒体文件实时转封装为FLV流媒体文件,并播放所述FLV流媒体文件。
根据本发明所述的播放方法,所述TS文件获取步骤包括:
根据所述媒体播放列表,获取所述HLS流媒体的经加密的所述TS流媒体文件;
所述TS文件获取步骤之后还包括:
TS文件解密步骤,在所述FLASH播放器内部将经加密的所述TS流媒体文件进行解密;
所述TS文件转封装步骤包括:
在所述FLASH播放器内部,将经解密的所述TS流媒体文件实时转封装后进行播放。
根据本发明所述的播放方法,所述索引文件处理步骤、所述TS文件获取步骤、所述TS文件解密步骤以及所述TS文件转封装步骤由HLS播放器内核实现;
循环执行所述TS文件获取步骤、所述TS文件解密步骤以及所述TS文件转封装步骤,直至所述HLS流媒体的所有TS流媒体文件被处理完毕。
根据本发明所述的播放方法,所述TS文件解密步骤包括:
在所述FLASH播放器内部将经加密的所述TS流媒体文件进行AES-128解密处理,并且在解密过程中正常进行所述HLS流媒体的播放。
根据本发明所述的播放方法,所述TS文件解密步骤包括:
在所述FLASH播放器内部,将经加密的所述TS流媒体文件进行异步解密处理。
根据本发明所述的播放方法,所述TS文件解密步骤包括:
在所述FLASH播放器内部,将经加密的所述TS流媒体文件交由C程序进行解密处理。
根据本发明所述的播放方法,所述TS文件解密步骤包括:
根据所述索引文件检索出所述HLS流媒体的Key文件的URL地址,根据所述URL地址获取所述Key文件;
在所述FLASH播放器内部,根据所述Key文件将经加密的所述TS流媒体文件进行解密。
本发明还提供一种HLS流媒体的播放系统,包括有:
索引文件处理模块,用于当FLASH播放器获取HLS流媒体的索引文件后,解析所述索引文件并生成媒体播放列表;
TS文件获取模块,用于根据所述媒体播放列表,获取所述HLS流媒体的TS流媒体文件;
TS文件转封装模块,用于在所述FLASH播放器内部将所述TS流媒体文件实时进行转封装及播放。
根据本发明所述的播放系统,所述TS文件转封装模块用于在所述FLASH播放器内部将所述TS流媒体文件实时转封装为FLV流媒体文件,并播放所述FLV流媒体文件。
根据本发明所述的播放系统,所述TS文件获取模块用于根据所述媒体播放列表,获取所述HLS流媒体的经加密的所述TS流媒体文件;
所述HLS流媒体的播放系统还包括:
TS文件解密模块,用于在所述FLASH播放器内部将经加密的所述TS流媒体文件进行解密;
所述TS文件转封装模块用于在所述FLASH播放器内部,将经解密的所述TS流媒体文件实时转封装后进行播放。
根据本发明所述的播放系统,所述索引文件处理模块、所述TS文件获取模块、所述TS文件解密模块以及所述TS文件转封装模块由HLS播放器内核实现;
循环执行所述TS文件获取模块、所述TS文件解密模块以及所述TS文件转封装模块,直至所述HLS流媒体的所有TS流媒体文件被处理完毕。
根据本发明所述的播放系统,所述TS文件解密模块用于在所述FLASH播放器内部将经加密的所述TS流媒体文件进行AES-128解密处理,并且在解密过程中正常进行所述HLS流媒体的播放。
根据本发明所述的播放系统,所述TS文件解密模块用于在所述FLASH播放器内部,将经加密的所述TS流媒体文件进行异步解密处理。
根据本发明所述的播放系统,所述TS文件解密模块用于在所述FLASH播放器内部,将经加密的所述TS流媒体文件交由C程序进行解密处理。
根据本发明所述的播放系统,所述TS文件解密模块还包括:
Key文件获取子模块,根据所述索引文件检索出所述HLS流媒体的Key文件的URL地址,根据所述URL地址获取所述Key文件;
TS文件解密子模块,用于在所述FLASH播放器内部,根据所述Key文件将经加密的所述TS流媒体文件进行解密。
本发明获取HLS流媒体的TS流媒体文件后,在FLASH播放器内部将所述TS流媒体文件实时进行转封装并直接播放,优选将所述TS流媒体文件实时转封装为FLASH播放器可以播放的FLV流媒体文件。借此,本发明使得Flash播放器可以完全支持HLS协议,并且能够高效、直接地播放TS流媒体文件。更好的是,所述TS流媒体文件在服务器端经过加密处理过,本发明获取TS流媒体文件后,在FLASH播放器内部将经加密的所述TS流媒体文件进行解密,并在FLASH播放器内部将经解密的TS流媒体文件实时转封装后直接进行播放,不仅有效实现了HLS流媒体的数字媒体版权保护,而且解密过程具备高效率性,完全不影响HLS流媒体的播放。
附图说明
图1是本发明HLS流媒体的播放系统的结构示意图;
图2是本发明优选HLS流媒体的播放系统的结构示意图;
图3是本发明HLS流媒体的播放方法的流程图;
图4是本发明第一实施例中HLS流媒体的播放方法的流程图;
图5是本发明第二实施例中HLS流媒体的播放方法的软件框架图;
图6是本发明第三实施例中HLS流媒体的播放方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1是本发明HLS流媒体的播放系统的结构示意图,所述HLS流媒体的播放系统100可应用于电视机、电脑、手机、PDA(Personal Digital Assistant,个人数字助理)、平板电脑等视频播放终端,所述HLS流媒体的播放系统100包括有索引文件处理模块10、TS文件获取模块20以及TS文件转封装模块30,其中:
所述索引文件处理模块10,用于当FLASH播放器获取HLS流媒体的索引文件后,解析所述索引文件并生成媒体播放列表。所述HLS流媒体可包含有索引文件(即M3U8文件),TS流媒体文件和key文件(即授权文件)。所述索引文件是HLS协议节目的播放列表文件格式,一般后缀名为.m3u8。
所述TS文件获取模块20,用于根据所述媒体播放列表,获取HLS流媒体的TS流媒体文件。所述TS流媒体文件是基于HLS的媒体分片文件,通常是依次逐个获取和处理HLS流媒体的TS流媒体文件,直至所有TS流媒体文件被处理完成。
所述TS文件转封装模块30,用于在FLASH播放器内部将所述TS流媒体文件实时进行转封装及播放。
优选的是,TS文件转封装模块30用于在FLASH播放器内部将TS流媒体文件实时转封装为FLV流媒体文件,并直接播放所述FLV流媒体文件。
现有Flash播放器只能支持其特定的流媒体文件格式,包括FLV(Flash流媒体格式),MP4(H.264编码,MPEG-4封装)的流媒体文件,但不支持TS流媒体文件。因此本发明对TS流媒体文件进行转封装,封装成FLV格式等,从而使Flash播放器能够直接播放。值得提醒的是,本发明并非在服务器端进行TS流媒体文件的转封装,而是在视频播放终端的Flash播放器内部进行TS流媒体文件的转封装操作。
优选的是,所述索引文件处理模块10、TS文件获取模块20以及TS文件转封装模块30由HLS播放器内核(HLS Core)实现。
所述HLS流媒体的播放系统100通过索引文件处理模块10解析HLS流媒体的索引文件并生成媒体播放列表之后,循环执行TS文件获取模块20以及TS文件转封装模块30,直至所述HLS流媒体的所有TS流媒体文件被处理完毕。
图2是本发明优选HLS流媒体的播放系统的结构示意图,所述HLS流媒体的播放系统100包括有索引文件处理模块10、TS文件获取模块20、TS文件转封装模块30以及TS文件解密模块40,其中:
所述索引文件处理模块10,用于当FLASH播放器获取HLS流媒体的索引文件后,解析所述索引文件并生成媒体播放列表。所述HLS流媒体可包含有索引文件(即M3U8文件),TS流媒体文件和key文件(即授权文件)。所述索引文件是HLS协议节目的播放列表文件格式,一般后缀名为.m3u8。
所述TS文件获取模块20,用于根据所生成的媒体播放列表,获取所述HLS流媒体的经加密的TS流媒体文件。所述TS流媒体文件是基于HLS的媒体分片文件,通常是依次逐个获取和处理HLS流媒体的TS流媒体文件,直至所有TS流媒体文件被处理完成。所述TS流媒体文件的加密过程在服务器端进行,以便实现对HLS流媒体的数字媒体版权保护。
所述TS文件解密模块40,用于在FLASH播放器内部将经加密的TS流媒体文件进行解密。优选的是,TS文件解密模块40用于在FLASH播放器内部将经加密的TS流媒体文件进行AES-128解密处理,并且在解密过程中正常进行HLS流媒体的播放。
所述TS文件转封装模块30,用于在FLASH播放器内部,将经解密的TS流媒体文件实时转封装后进行播放。优选的是,TS文件转封装模块30用于在FLASH播放器内部将TS流媒体文件实时转封装为FLV流媒体文件,并直接播放所述FLV流媒体文件。
更好的是,所述TS文件解密模块40还包括:
Key文件获取子模块41,根据所述索引文件检索出所述HLS流媒体的Key文件的URL(Uniform Resoure Locator,统一资源定位符)地址,根据所述URL地址获取所述Key文件,所述Key文件中至少包含有约定的密钥。
TS文件解密子模块42,用于在所述FLASH播放器内部,根据所述Key文件将经加密的所述TS流媒体文件进行解密。
由于所述TS文件解密模块40的解密过程是个函数计算的过程,需消耗相当的CPU(Central Processing Unit,中央处理器)等硬件的计算资源。而本发明需要在在不影响HLS流媒体播放的前提下,进行解密过程,因此需对TS文件解密模块40的解密性能进行优化,高性能的解密处理包括如下两种实现方式:
1)TS文件解密模块40用于在FLASH播放器内部,将经加密的TS流媒体文件进行异步解密处理。
2)TS文件解密模块40用于在FLASH播放器内部,将经加密的TS流媒体文件交由C程序进行解密处理。
优选的是,所述索引文件处理模块10、TS文件获取模块20、TS文件解密模块40以及TS文件转封装模块30由HLS播放器内核实现。
所述HLS流媒体的播放系统100通过索引文件处理模块10解析HLS流媒体的索引文件并生成媒体播放列表之后,循环执行TS文件获取模块20、TS文件解密模块40以及TS文件转封装模块30,直至所述HLS流媒体的所有TS流媒体文件被处理完毕。
本实施例处理过程主要分两个方面:AES-128解密和TS封装转FLV封装。
1、在Flash播放器内部进行AES-128解密工作。Adobe公司开发的Flash SDK(标准开发库)中并没有提供任何AES-128解密工具或类库。本发明让Flash播放器可进行高效的AES-128解密工作,在解密过程的同时正常进行流媒体播放。AES(Advanced Encryption Standard,高级加密标准算法)是下一代的加密算法标准,具有速度快,安全级别高的特点。AES-128表示是AES加密算法并且密钥的长度为128比特。解密需要用到Key和IV,Key为长度为128bit(比特)的二进制数据,IV长度也为128bit二进制数据。
2、Flash播放器播放HLS流媒体。现有Flash播放器只能支持其特定的流媒体文件格式,包括FLV(FLASH流媒体格式),MP4(H.264编码,MPEG-4封装)的流媒体文件,但不支持TS流媒体文件。因此本发明对TS流媒体文件进行转封装,封装成FLV格式,从而使Flash播放器能够播放。
本发明使Flash播放器可播放带数字媒体版权保护的基于HLS的流媒体(简称HLS流媒体)。在Flash播放器环境中高效地进行流媒体实时解码,可完全支持HLS协议,并且能够播放TS流媒体文件。本发明使用标准AES-128加解密算法对流媒体进行加密以实现数字媒体版权保护。所有DRM(Digital RightsManagement,数字版权管理)解密工作都在Flash播放器内部进行,并具备高效率性,完全不影响流媒体的播放。
图3是本发明HLS流媒体的播放方法的流程图,其可通过如图1或图2所示的HLS流媒体的播放方法100实现,包括步骤有:
步骤S301,索引文件处理步骤:当FLASH播放器获取HLS流媒体的索引文件后,解析所述索引文件并生成媒体播放列表。
所述HLS流媒体可包含有索引文件(即M3U8文件),TS流媒体文件和key文件(即授权文件)。所述索引文件是HLS协议节目的播放列表文件格式,一般后缀名为.m3u8。
步骤S302,TS文件获取步骤:根据所述媒体播放列表,获取HLS流媒体的TS流媒体文件。
所述TS流媒体文件是基于HLS的媒体分片文件,通常是依次逐个获取和处理HLS流媒体的TS流媒体文件,直至所有TS流媒体文件被处理完成。
步骤S303,TS文件转封装步骤:在FLASH播放器内部将所述TS流媒体文件实时进行转封装及播放。
优选的是,在FLASH播放器内部将TS流媒体文件实时转封装为FLV流媒体文件,并直接播放FLV流媒体文件。
优选的是,所述索引文件处理步骤、所述TS文件获取步骤以及所述TS文件转封装步骤由HLS播放器内核实现。
本发明在执行完所述索引文件处理步骤后,循环执行所述TS文件获取步骤以及TS文件转封装步骤,直至HLS流媒体的所有TS流媒体文件被处理完毕。
图4是本发明第一实施例中HLS流媒体的播放方法的流程图,其可通过如图2所示的HLS流媒体的播放方法100实现,包括步骤有:
步骤S401,索引文件处理步骤:当FLASH播放器获取HLS流媒体的索引文件后,解析所述索引文件并生成媒体播放列表。
所述HLS流媒体可包含有索引文件(即M3U8文件),TS流媒体文件和key文件(即授权文件)。所述索引文件是HLS协议节目的播放列表文件格式,一般后缀名为.m3u8。
步骤S402,TS文件获取步骤:根据所述媒体播放列表,获取HLS流媒体的经加密的TS流媒体文件。
所述TS流媒体文件是基于HLS的媒体分片文件,通常是依次逐个获取和处理HLS流媒体的TS流媒体文件,直至所有TS流媒体文件被处理完成。所述TS流媒体文件的加密过程在服务器端进行,以便实现对HLS流媒体的数字媒体版权保护。
步骤S403,TS文件解密步骤:在FLASH播放器内部将经加密的所述TS流媒体文件进行解密。
优选的是,在FLASH播放器内部将经加密的TS流媒体文件进行AES-128解密处理,并且在解密过程中正常进行HLS流媒体的播放。
更好的是,根据所述索引文件检索出所述HLS流媒体的Key文件的URL地址,根据所述URL地址获取所述Key文件;在所述FLASH播放器内部,根据所述Key文件将经加密的所述TS流媒体文件进行解密。
步骤S404,TS文件转封装步骤:在FLASH播放器内部,将经解密的TS流媒体文件实时转封装后进行播放。
优选的是,在FLASH播放器内部将TS流媒体文件实时转封装为FLV流媒体文件,并播放FLV流媒体文件。
由于所述TS流媒体文件的解密过程是个函数计算的过程,需消耗相当的CPU计算资源。而本发明需要在在不影响HLS流媒体播放的前提下,进行解密过程,因此需对所述TS文件解密步骤的解密性能进行优化,高性能的解密处理包括如下两种实现方式:
1)于在FLASH播放器内部,将经加密的TS流媒体文件进行异步解密处理。
2)在FLASH播放器内部,将经加密的TS流媒体文件交由C程序进行解密处理。
优选的是,所述索引文件处理步骤、TS文件获取步骤、TS文件解密步骤以及TS文件转封装步骤由HLS播放器内核实现。
本发明在执行完所述索引文件处理步骤后,循环执行所述TS文件获取步骤、TS文件解密步骤以及TS文件转封装步骤,直至HLS流媒体的所有TS流媒体文件被处理完毕。
图5是本发明第二实施例中HLS流媒体的播放方法的软件框架图,本发明可以分为四个层次:Flex SDK(Flex Standard Develop Kit,Flex标准开发库),OSMF(Open source media framework,开源媒体框架),HLS Core(HTTP LiveStreaming Core,HLS播放器内核)及UI(User interface,用户界面)。
Flex SDK:是Flash标准SDK库。Adobe公司提供了一套完整的Flash开发标准库,用于Flash应用开发,包括网页及桌面程序。本发明Flex SDK版本为3.5及以上,因为Flash10.1及以上版本才支持类库和方法。
OSMF:是开发Flash播放器的框架。该框架集成了流媒体加载器,流媒体播放器,流媒体控制器及流媒体状态信息。开发人员可自定义应用各类流媒体文件及处理流媒体文件的播放方式。
HLS Core:是本发明的核心部分,其基于OSMF框架,主要工作内容有两部分。
1)解析HLS协议文件,并对TS流媒体文件进行转封装,从而使Flash播放器可播放该流媒体文件。HLS Core包括两个部分:索引文件处理器(IndexHandler)和TS文件处理器(TS File Handler)。索引文件处理器用于解析HLS协议的媒体播放信息文件,TS文件处理器用于对TS流媒体文件进行转封装及播放。
2)进行AES-128解密,对二进制数据进行解密过程。通过HLS Core中的AES Descryptor接口进行解密。
UI:是整个播放器的对外接口及用户界面。对外接口包括读取媒体、播放、暂停、快进及播放状态。用户界面包括用于呈现视频画面以及一些相应的控制按钮。
本发明结合这四个层次,提供了基于Flash播放器的,用于播放HLS流媒体文件的流媒体播放器。本发明能够在Flash播放器上高效地进行AES-128解密工作,并且能够流畅播放HLS流媒体。
一、AES解密实施方法
AES标准解密工具类,AESUtil类方法
AES解密方法:AESCBCDecryptor类,AES CBC解密过程
AES解密性能分析:由于AES解密过程是个函数计算的过程,对N*N维的矩阵进行n次换算,需消耗相当的CPU计算资源。需要在在不影响流媒体播放的前提下,进行解密过程,因此需对解密的性能进行调整。
Flash播放器应用是动画方式来呈现的,并提出了帧的概念,即每秒25帧。每一帧的实际运行时长为40ms,因此在40ms内若脚本程序未运行完成,则会影响Flash播放器流畅播放动画,因而也影响了流媒体的流畅观看。
AES解密高效性能由两种实现方式。
1、异步处理方式(软解密):即解密过程在异步过程中进行,每帧画面解密部分加密TS数据。
假定Flash播放器运行在25帧每秒的环境下,每帧时长为40ms。那在40ms的一帧中进行解密处理,对部分数据进行解密,处理能力为
P(Byte)=16(Byte)*4K(times)*25fps=1600KByte/s,
即每秒可处理1600KB的数据。
对普通一个10秒左右的TS文件解密过程不到1秒钟。
对于一个1600KB大小的数据文件进行解密过程只需1秒钟。
一般一个长度为10秒左右的高清码率(1080P)TS文件大小为3200KB左右,解密时间也只需2秒钟。
2、C程序代理处理方式(硬解密):把加密的TS数据文件交由C程序来计算,其效率远高于在ActionScript脚本中进行计算,Flash-C映射模型来处理TS加密数据。其处理速度在硬件加速的情况下在几毫秒以内。
二、HLS流媒体播放实施方法
第一,Flex SDK,Flash标准SDK库。第二,OSMF:OSMF1.6版本,提供HLS流媒体的播放框架。
如图5和图6,OSMF是基于Flex SDK3.5版本上运行的流媒体播放框架。
其针对HLS流媒体的核心类库HttpNetStream,提供了播放HLS流媒体的函数方法。其主要提供了两个基础类,IndexHandlerBase和FileHandlerBase,用于播放基于HLS的TS流媒体文件。
其中,IndexHandlerBase用于处理HLS流媒体的索引信息的基础类。其提供了必要接口:
Figure BDA0000376472460000111
FileHandlerBase用于处理HLS流媒体封装的基础类,提供了必要接口:
Figure BDA0000376472460000121
第三,HLS core:HLS解析内核程序:继承了OSMF框架中的IndexHandlerBase和FileHandlerBase类。用于实现解析HLS流媒体的M3U8格式的播放列表文件,以及对TS流媒体文件进行转封装。
图6是本发明第三实施例中HLS流媒体的播放方法的流程图,示出了处理经过DRM(AES-128加密算法)处理过的HLS流媒体流程,包括步骤有:
1、读取HLS M3U8文件,该文件为纯文本格式,描述了媒体的索引信息。交由HLS的IndexHandler通过ProcessIndexData方法处理,解析出所有媒体文件的信息,形成播放列表。
2、检索出解密Key的URL地址,并生成请求对象。
3、发起请求Key对象,获取Key数据,共16字节(128bit)。
4、根据媒体播放列表,读取下一个TS流媒体文件的信息,形成TS流媒体文件请求对象。
5、发起TS请求。
6、准备处理TS文件数据。
7、当请求完TS数据后,发起处理TS数据解密请求。
8、异步处理TS解密,保证流媒体播放进程不受阻。
9、当解密完成后处理TS媒体数据直至其完全被处理完。
10、循环处理TS媒体数据直至其完全被处理,即剩余数据为零。
11、当处理完单个媒体数据时,发起完成处理TS数据请求。
12、当前片断媒体文件处理完成后,载入下一个媒体文件。
13、继续此循环过程,直至所有媒体文件都被处理过。
综上所述,本发明获取HLS流媒体的TS流媒体文件后,在FLASH播放器内部将所述TS流媒体文件实时进行转封装并直接播放,优选将所述TS流媒体文件实时转封装为FLASH播放器可以播放的FLV流媒体文件。借此,本发明使得Flash播放器可以完全支持HLS协议,并且能够高效、直接地播放TS流媒体文件。更好的是,所述TS流媒体文件在服务器端经过加密处理过,本发明获取TS流媒体文件后,在FLASH播放器内部将经加密的所述TS流媒体文件进行解密,并在FLASH播放器内部将经解密的TS流媒体文件实时转封装后直接进行播放,不仅有效实现了HLS流媒体的数字媒体版权保护,而且解密过程具备高效率性,完全不影响HLS流媒体的播放。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (16)

1.一种HLS流媒体的播放方法,其特征在于,包括步骤有:
索引文件处理步骤,当FLASH播放器获取HLS流媒体的索引文件后,解析所述索引文件并生成媒体播放列表;
TS文件获取步骤,根据所述媒体播放列表,获取所述HLS流媒体的TS流媒体文件;
TS文件转封装步骤,在所述FLASH播放器内部将所述TS流媒体文件实时进行转封装及播放。
2.根据权利要求1所述的播放方法,其特征在于,所述TS文件转封装步骤包括:
在所述FLASH播放器内部将所述TS流媒体文件实时转封装为FLV流媒体文件,并播放所述FLV流媒体文件。
3.根据权利要求1或2所述的播放方法,其特征在于,所述TS文件获取步骤包括:
根据所述媒体播放列表,获取所述HLS流媒体的经加密的所述TS流媒体文件;
所述TS文件获取步骤之后还包括:
TS文件解密步骤,在所述FLASH播放器内部将经加密的所述TS流媒体文件进行解密;
所述TS文件转封装步骤包括:
在所述FLASH播放器内部,将经解密的所述TS流媒体文件实时转封装后进行播放。
4.根据权利要求3所述的播放方法,其特征在于,所述索引文件处理步骤、所述TS文件获取步骤、所述TS文件解密步骤以及所述TS文件转封装步骤由HLS播放器内核实现;
循环执行所述TS文件获取步骤、所述TS文件解密步骤以及所述TS文件转封装步骤,直至所述HLS流媒体的所有TS流媒体文件被处理完毕。
5.根据权利要求3所述的播放方法,其特征在于,所述TS文件解密步骤包括:
在所述FLASH播放器内部将经加密的所述TS流媒体文件进行AES-128解密处理,并且在解密过程中正常进行所述HLS流媒体的播放。
6.根据权利要求3所述的播放方法,其特征在于,所述TS文件解密步骤包括:
在所述FLASH播放器内部,将经加密的所述TS流媒体文件进行异步解密处理。
7.根据权利要求3所述的播放方法,其特征在于,所述TS文件解密步骤包括:
在所述FLASH播放器内部,将经加密的所述TS流媒体文件交由C程序进行解密处理。
8.根据权利要求3所述的播放方法,其特征在于,所述TS文件解密步骤包括:
根据所述索引文件检索出所述HLS流媒体的Key文件的URL地址,根据所述URL地址获取所述Key文件;
在所述FLASH播放器内部,根据所述Key文件将经加密的所述TS流媒体文件进行解密。
9.一种HLS流媒体的播放系统,其特征在于,包括有:
索引文件处理模块,用于当FLASH播放器获取HLS流媒体的索引文件后,解析所述索引文件并生成媒体播放列表;
TS文件获取模块,用于根据所述媒体播放列表,获取所述HLS流媒体的TS流媒体文件;
TS文件转封装模块,用于在所述FLASH播放器内部将所述TS流媒体文件实时进行转封装及播放。
10.根据权利要求9所述的播放系统,其特征在于,所述TS文件转封装模块用于在所述FLASH播放器内部将所述TS流媒体文件实时转封装为FLV流媒体文件,并播放所述FLV流媒体文件。
11.根据权利要求9或10所述的播放系统,其特征在于,所述TS文件获取模块用于根据所述媒体播放列表,获取所述HLS流媒体的经加密的所述TS流媒体文件;
所述HLS流媒体的播放系统还包括:
TS文件解密模块,用于在所述FLASH播放器内部将经加密的所述TS流媒体文件进行解密;
所述TS文件转封装模块用于在所述FLASH播放器内部,将经解密的所述TS流媒体文件实时转封装后进行播放。
12.根据权利要求11所述的播放系统,其特征在于,所述索引文件处理模块、所述TS文件获取模块、所述TS文件解密模块以及所述TS文件转封装模块由HLS播放器内核实现;
循环执行所述TS文件获取模块、所述TS文件解密模块以及所述TS文件转封装模块,直至所述HLS流媒体的所有TS流媒体文件被处理完毕。
13.根据权利要求11所述的播放系统,其特征在于,所述TS文件解密模块用于在所述FLASH播放器内部将经加密的所述TS流媒体文件进行AES-128解密处理,并且在解密过程中正常进行所述HLS流媒体的播放。
14.根据权利要求11所述的播放系统,其特征在于,所述TS文件解密模块用于在所述FLASH播放器内部,将经加密的所述TS流媒体文件进行异步解密处理。
15.根据权利要求11所述的播放系统,其特征在于,所述TS文件解密模块用于在所述FLASH播放器内部,将经加密的所述TS流媒体文件交由C程序进行解密处理。
16.根据权利要求11所述的播放系统,其特征在于,所述TS文件解密模块还包括:
Key文件获取子模块,根据所述索引文件检索出所述HLS流媒体的Key文件的URL地址,根据所述URL地址获取所述Key文件;TS文件解密子模块,用于在所述FLASH播放器内部,根据所述Key文件将经加密的所述TS流媒体文件进行解密。
CN201310395518.5A 2013-09-03 2013-09-03 Hls流媒体的播放方法及系统 Active CN103414733B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310395518.5A CN103414733B (zh) 2013-09-03 2013-09-03 Hls流媒体的播放方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310395518.5A CN103414733B (zh) 2013-09-03 2013-09-03 Hls流媒体的播放方法及系统

Publications (2)

Publication Number Publication Date
CN103414733A true CN103414733A (zh) 2013-11-27
CN103414733B CN103414733B (zh) 2016-10-26

Family

ID=49607719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310395518.5A Active CN103414733B (zh) 2013-09-03 2013-09-03 Hls流媒体的播放方法及系统

Country Status (1)

Country Link
CN (1) CN103414733B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957469A (zh) * 2014-05-21 2014-07-30 百视通网络电视技术发展有限责任公司 基于实时转封装的互联网视频点播方法及系统
CN104410901A (zh) * 2014-11-18 2015-03-11 上海天脉聚源文化传媒有限公司 一种m3u8格式直播流的播放方法及播放装置
CN106331751A (zh) * 2016-08-31 2017-01-11 广州易方信息科技有限公司 一种基于iOS操作系统的在线加密切片视频播放方法
CN106936770A (zh) * 2015-12-30 2017-07-07 玲珑视界科技(北京)有限公司 一种hls索引列表加密防盗链系统及方法
CN108712684A (zh) * 2018-06-07 2018-10-26 深圳市茁壮网络股份有限公司 一种本地ts流文件播放方法、第三方播放器及终端
CN109874028A (zh) * 2017-12-01 2019-06-11 深圳市雷鸟信息科技有限公司 一种hls流媒体的播放方法、系统及存储介质
CN110139131A (zh) * 2018-02-09 2019-08-16 网宿科技股份有限公司 一种播放视频文件的方法和终端
CN105828096B (zh) * 2016-05-19 2020-05-15 网宿科技股份有限公司 媒体流文件的处理方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118428A (zh) * 2010-12-29 2011-07-06 天脉聚源(北京)传媒科技有限公司 一种播放流媒体的方法和系统
US20120047542A1 (en) * 2010-08-20 2012-02-23 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
US20120151080A1 (en) * 2010-12-14 2012-06-14 of California Media Repackaging Systems and Software for Adaptive Streaming Solutions, Methods of Production and Uses Thereof
CN102685088A (zh) * 2011-09-06 2012-09-19 天脉聚源(北京)传媒科技有限公司 一种播放m3u8流媒体的方法
CN102710966A (zh) * 2012-06-13 2012-10-03 百视通网络电视技术发展有限责任公司 基于http协议的视频直播方法及系统
CN102740125A (zh) * 2012-06-13 2012-10-17 天脉聚源(北京)传媒科技有限公司 一种播放流媒体的系统和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120047542A1 (en) * 2010-08-20 2012-02-23 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
US20120151080A1 (en) * 2010-12-14 2012-06-14 of California Media Repackaging Systems and Software for Adaptive Streaming Solutions, Methods of Production and Uses Thereof
CN102118428A (zh) * 2010-12-29 2011-07-06 天脉聚源(北京)传媒科技有限公司 一种播放流媒体的方法和系统
CN102685088A (zh) * 2011-09-06 2012-09-19 天脉聚源(北京)传媒科技有限公司 一种播放m3u8流媒体的方法
CN102710966A (zh) * 2012-06-13 2012-10-03 百视通网络电视技术发展有限责任公司 基于http协议的视频直播方法及系统
CN102740125A (zh) * 2012-06-13 2012-10-17 天脉聚源(北京)传媒科技有限公司 一种播放流媒体的系统和方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957469A (zh) * 2014-05-21 2014-07-30 百视通网络电视技术发展有限责任公司 基于实时转封装的互联网视频点播方法及系统
CN103957469B (zh) * 2014-05-21 2017-09-15 百视通网络电视技术发展有限责任公司 基于实时转封装的互联网视频点播方法及系统
CN104410901A (zh) * 2014-11-18 2015-03-11 上海天脉聚源文化传媒有限公司 一种m3u8格式直播流的播放方法及播放装置
CN106936770A (zh) * 2015-12-30 2017-07-07 玲珑视界科技(北京)有限公司 一种hls索引列表加密防盗链系统及方法
CN106936770B (zh) * 2015-12-30 2019-06-14 玲珑视界科技(北京)有限公司 一种hls索引列表加密防盗链系统及方法
CN105828096B (zh) * 2016-05-19 2020-05-15 网宿科技股份有限公司 媒体流文件的处理方法和装置
CN106331751A (zh) * 2016-08-31 2017-01-11 广州易方信息科技有限公司 一种基于iOS操作系统的在线加密切片视频播放方法
CN106331751B (zh) * 2016-08-31 2019-05-31 广州易方信息科技股份有限公司 一种基于iOS操作系统的在线加密切片视频播放方法
CN109874028A (zh) * 2017-12-01 2019-06-11 深圳市雷鸟信息科技有限公司 一种hls流媒体的播放方法、系统及存储介质
CN110139131A (zh) * 2018-02-09 2019-08-16 网宿科技股份有限公司 一种播放视频文件的方法和终端
CN108712684A (zh) * 2018-06-07 2018-10-26 深圳市茁壮网络股份有限公司 一种本地ts流文件播放方法、第三方播放器及终端
CN108712684B (zh) * 2018-06-07 2021-04-06 深圳市茁壮网络股份有限公司 一种本地ts流文件播放方法、第三方播放器及终端

Also Published As

Publication number Publication date
CN103414733B (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
CN103414733B (zh) Hls流媒体的播放方法及系统
JP5730786B2 (ja) 1ファイルにおける複数のコンテンツ保護システム
CN112822518A (zh) 视频播放方法、装置、系统、电子设备和存储介质
US9444794B2 (en) Low-latency secure segment encryption and authentication interface
US9014374B2 (en) Protecting video as it is decoded by a codec
US20130042100A1 (en) Method and apparatus for forced playback in http streaming
US8532290B2 (en) Content playback APIS using encrypted streams
KR20130099995A (ko) 라이브 어댑티브 스트리밍 내의 키 회전
CN103338385A (zh) 视频处理系统及相应方法
US9450748B2 (en) Decryption of content including partial-block discard
US10162944B2 (en) Library style media DRM APIs in a hosted architecture
US10127396B2 (en) System and method for local generation of streaming content with a hint track
US10102386B2 (en) Decrypting content protected with initialization vector manipulation
CN105072488A (zh) 流媒体解密方法及装置
CN106936815A (zh) 一种基于加密音频流的文件传输系统及其方法
CN110611830A (zh) 一种视频处理方法、装置、设备及介质
CN106209896B (zh) 基于音视频格式的流媒体加密方法和模块
CN112565656A (zh) 视频通话方法、装置、系统、电子设备及存储介质
TWI705345B (zh) 實現數位版權管理的方法、用戶端設備及系統
CN109040087B (zh) 一种文件加、解密方法及装置
CN102622541B (zh) 加密及解密的系统和方法
US20200275142A1 (en) A method for delivering digital content to at least one client device
Lau et al. PlaySafe: A Digital Rights Management System for Media Content Consumption
CN106934296A (zh) 一种音频文件的加密解密方法
Jadhav et al. Video Encryption & Decryption Using Parallel AES Algorithm

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