基于h.264编码和扩频水印技术的掌中网校的制作方法

文档序号:7996279阅读:163来源:国知局
基于h.264编码和扩频水印技术的掌中网校的制作方法
【专利摘要】基于H.264编码和扩频水印技术的掌中网校,提供了一种将实体课堂或是传统网校搬上移动设备的解决方案。首先将源视频或课件通过流媒体(Http?Live?Streaming)技术将视频转换为可在移动设备上点播的文件,同时将视频加密。在服务器端编写一些权限控制的Web页面,作为客户端获取视频地址的来源。移动设备上的客户端发送请求后获取相应的权限和视频地址,通过密钥文件来解密并实现在设备上的点播。播放的时候在视频上显示水印防止盗摄。也可将视频下载到本地离线播放,由于视频已经加密也避免了被盗用。
【专利说明】基于H.264编码和扩频水印技术的掌中网校
【技术领域】
[0001]本申请涉及音视频编解码,流媒体直播,版权保护(水印)。
【背景技术】
[0002]近两年3G网络的普及也使得移动互联网上的多媒体业务得到了空前的发展机遇,其相关应用的广度和深度都在不断提升。教育企业自然也不例外,随着iPhone、iPad和一些搭载Android系统的移动设备在学员中的普及,教育企业和机构都迫切地需要将传统网校和课堂教学搬到这些移动设备上来,以顺应时代的发展潮流,并满足更多用户的移动学习需要。但是一方面由于教学视频普遍较大,传输速率和质量等受网络环境的制约;另一方面,如何保护教育机构的版权不受盗版的侵害也是一个很重要的问题。H.264或称AVC (高级视频编码),是一种视频压缩标准。H.264标准中有多个闪光之处,如统一的VLC符号编码,高精度、多模式的位移估计,基于4块的整数变换、分层的编码语法等。这些措施使得H.264得算法具有很高的编码效率,在相同的重建图像质量下,能够比H.263节约50%左右的码率。H.264的码流结构网络适应性强,增加了差错恢复能力。但是国内网络质量参差不齐,尤其是无线3G网络所能提供的网络带宽和质量不一定能达到传输的标准。而在视频版权保护方面一般都采取在视频播放的时候加入水印来实现。但是水印在应用当中可能会受到多种攻击,包含剪裁攻击在内的几何攻击是危害比较大的一种,它可能直接导致水印无法被识别,从而使版权保护失效。

【发明内容】

[0003]本发明旨在为众多教育培训企业和机构提供在移动互联时代背景下,将实体课堂或是传统网校搬上移动设备的一整套解决方案。整套解决方案包括三部分:流媒体直播,月艮务器端交互页面,移动设备客户端。
[0004]本发明为达到上述的目的,采用以下的手段。
[0005]首先使用H.264标准进行高效压缩,并针对具体的应用要求,在编码环节通过参数控制,通过使用效率更高的熵编码算法,使用更有效的运动估计搜索算法等方式提高压缩率,以获得更流畅的通信传输,压缩率能够达到MPEG4标准的1.5?2倍,接近2倍。这样就大大减少了网络传输的负担。
[0006]处理后的源视频还需要转换符合流媒体直播标准的文件,即根据网络带宽及状况的不同自动选择相应规格的视频。视频的规格分为四种,分别为只有声音(网络较差)、低画质(网络一般)、高画质(网络良好)和高清画质(网络非常好)四种规格。这也是为了增强客户体验而采取的一种机制。
[0007]为了让转换后的视频能够在客户端流畅的观看,需要将媒体文件切割成流的形式,放到服务器上,以供访问。
[0008]在本发明中流媒体的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U(m3u8)playlist文件,用于寻找可用的媒体流。
[0009]这个过程会把视频文件切割成很多个ts的文件。分割过程大多是按时间来切,根据国外的资料,建议切IOs—个的文件,如果码流高可以5秒一次。流分割器会生成一个含有指向这些小TS文件指针的索引文件,索引文件后缀是.m3u8,采用扩展的M3U播放列表格式。在切割的同时,对切割好的文件进行AES-128加密,同时在m3u8文件中生成密钥。这样,对视频版权起到了一个很好的保护作用。
[0010]本发明的程序运行在基于iOS系统的设备上,包括iPhone, iPad, iPodtouch。该程序可在苹果的移动设备上点播有权限观看的,并且已经转换成媒体流的视频。在实现点播的基础之上,程序也可以选择对视频下载,在没有网络的情况下离线播放。
【专利附图】

【附图说明】
[0011]图1是图示流媒体直播系统结构的图。
[0012]图2 是图不在 16: 9 宽高比下 iPhone, iPod touch 和 Apple TV 的
[0013]编码设置
[0014]图3是图示在16: 9宽高比下iPad和Apple TV的编码设置
[0015]图4是图示在服务器端流媒体的准备过程的图
[0016]图5是图示流媒体文件的存在形式的图。
[0017]图6是图示在客户端播放流媒体的过程。
[0018]图7是图示客户端下载视频的过程。
【具体实施方式】
[0019]接下来,对本发明具体的实施方式进行说明。图1是搭建流媒体直播系统的结构图,展示了媒体文件从捕捉,到转换为流的过程。图2,图3则是转换过程当中编码需要遵循的规格。图2表示了在16: 9的宽高比之下,iPhone, iPod touch, iPad需要达到的编码要求,图3表示了在16: 9的宽高比之下,iPad和Apple TV的编码设置。
[0020]如图1,搭建流媒体直播平台,首先需要有视频来源。本发明的视频来源就是由网校提供的教学视频或课件。视频不能直接使用,首先要经过处理,将视频转换为符合直播标准的流文件。首先,转换用的编解码器为hl64,制式标准为PAL,FPS为25,音频为AAC格式的,输出通道为立体声,声音采样频率为48kHZ,比特率为192kbps.[0021]转换的过程需要在Mac OS X10.6.3以上平台下完成,转换需要安装ffmpeg.首先需将视频转换成四种规格,分别是只有音频,低画质,高画质和高清画质,以便在网速不同的时候自动选取相应画质的视频。转换成视频的具体参数见图2和图3.[0022]ffmpeg-1原视频位置-ar音频采样率-b: a音频比特率_s视频大小_b: V视频比特率_fps帧率-frames关键帧转换后的视频路径
[0023]这样转换好的视频会放在指定的位置上,下面就要对转换好的视频进行切割,切割成若干TS文件。切割的过程同样需要在Mac OS X平台上进行,需要预先安装苹果公司提供的切割工具:makerefmovie 和 streamingtools。[0024]首先要对视频进行切害I],切割要用到mediafilesegmenter命令。mediafiIesegmenter 命令如下:
[0025]mediafilesegmenter[媒体文件路径]
[0026][-y 1--meta-type [picture | text | id3]](三种可选类型)[-F |—meta-file meta信息的位置与名称]
[0027][-t —target-duration数字]每隔多少秒分割出一个ts文件,默认是IOs
[0028][-b m3u8文件中ts片段路径]
[0029][-f m3u8与ts文件的存储路径] [0030][-B —base-media-file-name ts文件的基础名,或者说是前缀][_i m3u8文件名]
[0031 ] [-JI —encrypt-1V [random | sequence]](随机数与 ts 序号两种可选类型)
[0032][-key-rotation-period数字]每隔多少个ts文件,循环一次密钥,这个必须与[-j|-encrypt-1v sequence]共同使用,否则无效
[0033][-1 I—generate-variant-pl ist]配合 variantplayl istcreator (可变播放列表的生成工具)生成可变播放列表资源(variant的plist)
[0034][-k I —encrypt-key文件名或路径名]制定本地一个16字节的key文件,不推荐单独使用,因为这样生成的m3u8文件没有指定key的URI,还需要手动添加,太麻烦;建议与下面的参数共同使用
[0035][-K I—encrypt-key-url<url>]填充 m3u8 文件中 key 处的 URI,这样可以不再特意指定key的位置
[0036][-η —base-encrypt-key-name key文件的名称]在指定key文件后,会生成一个新的key文件,而ts是通过这个key文件加密的,其名称的前缀就是你的参数
[0037][—no-floating-point-duration]为了向下兼容,避免生成具有浮点数的文件内

[0038][-Z I—iframe-1ndex-f ile 名称 |none]不生成 iframe 的 m3u8 文件,该参数需要与上一条配合使用
[0039][-a I—audio-only]将视频的画面部分过滤掉,只留有音频。
[0040]通过上述方式进行切割,切割的过程如图4所示:切割后的文件包括一系列的TS文件,一个密钥文件,以及一个m3u8索引文件。索引文件中包含了所有TS文件和密钥文件的地址,即通过m3u8文件可以访问到相应的视频流。下面是m3u8的示例代码:首先是总m3u8问题,用来索引不同质量的媒体文件:
[0041]#EXTM3U
[0042]#EXT-X-STREAM-1NF:PR0GRAM-1D = I, BANDWIDTH = 95215,CODECS="mp4a.40.2 "
[0043]//ios/f3/F5-5.2_P/audio-F5_5.2_P.m3u8
[0044]#EXT-X-STREAM-1NF:PR0GRAM-1D = I, BANDWIDTH = 841689,CODECS="mp4a.40.2,avcl.640015",RESOLUTION = 568x320
[0045]/ios/f3/F5-5.2_P/lo-F5_5.2_P.m3u8
[0046]#EXT-X-STREAM-1NF:PR0GRAM-1D = I, BANDWIDTH = 1154253,CODECS="mp4a.40.2,avcl.64001e",RESOLUTION = 852x480
[0047]/ios/f3/F5-5.2_P/h1-F5_5.2_P.m3u8
[0048]#EXT-X-STREAM-1NF:PR0GRAM-1D = I, BANDWIDTH = 2257139,CODECS="mp4a.40.2,avcl.64001f",RESOLUTION = 1278x720
[0049]/ios/f3/F5-5.2_P/hd-F5_5.2_P.m3u8
[0050]通过总m3u8,可以定位到子m3u8文件。子m3u8文件的代码结构如下:
[0051]#EXTM3U
[0052]#EXT-X-TARGETDURATION: 10
[0053]#EXT-X-MEDIA-SEQUENCE:0
[0054]#EXT-X-PLAYLIST-TYPE:V0D
[0055]#EXTINF:10,
[0056]#EXT-X-KEY:METH0D = AES-128, URI =
[0057]" http://learn, chgjedu.net/media/ios/Protected/ACCACryptl0.key"
[0058]hi/h1-F5_5.2_P.mp40.ts
[0059]#EXTINF:10,
[0060]hi/h1-F5_5.2_P.mp41, ts
[0061]#EXTINF:10,
[0062]hi/h1-F5_5.2_P.mp42.ts
[0063]#EXTINF:10,
[0064]hi/h1-F5_5.2_P.mp43.ts
[0065]#EXTINF:10,
[0066]hi/h1-F5_5.2_P.mp44.ts
[0067]#EXTINF:10,
[0068]hi/h1-F5_5.2_P.mp45.ts
[0069]#EXTINF:10,
[0070]hi/h1-F5_5.2_P.mp46.ts
[0071]#EXTINF:10,
[0072]hi/h1-F5_5.2_P.mp47.ts
[0073]#EXTINF:10,
[0074]hi/h1-F5_5.2_P.mp48.ts
[0075]#EXTINF:10,
[0076]hi/h1-F5_5.2_P.mp49.ts
[0077]#EXTINF:10,
[0078]hi/h1-F5_5.2_P.mp410.ts
[0079]#EXTINF:10,
[0080]hi/h1-F5_5.2_P.mp411.tss
[0081]#EXT-X-ENDLIST
[0082]二级m3u8文件,列出了密钥文件和流媒体文件的URI,实现了媒体流的播放。
[0083]根据官方视频流转换标准,需要将源视频转换为四种质量的媒体文件,分别是只有声音,低画质,中画质,高清画质,之后转换为流媒体文件,以适应不同的网络环境下的带宽。至此,视频流转换工作结束。
[0084]接着就是客户端与服务器端的交互工作。由于客户方面无法提供网站的相应文档和数据库的文档,只能是通过添加自己的一些文件来达到目标。思路是通过客户端传入的用户名和密码来判断是否正确,若正确,则返回该用户所拥有的权限列表。同时将用户的设备MAC地址上传,以控制访问设备的台数。此外,另添加了功能验证重复登陆。由于客户方面的要求,此处无法提供相关资料。
[0085]最后,也是最重要的ACCA Online客户端。客户端主要分为四个界面:登录界面,课程列表界面,视频列表界面,视频播放界面。首先是登录界面,用户可以输入用户密码,若密码错误,会返回错误信息;若是设备MAC地址与之前的不同,会提示不允许在未授权的设备上登录;若是同一帐号同时在2个设备上登陆,会提示不允许重复登陆。如果用户名密码验证无误,则进入下一个页面,这个页面主要显示的是用户已经购买了的科目列表,点击相应的科目,可进入该科目对应的课程视频的列表。选择课程,就可以在设备上观看相应的课程了,播放器会根据当时网速的状况,自动选择相应品质的视频文件进行播放。
【权利要求】
1.一种旨在为众多教育培训企业和机构提供在移动互联时代背景下,将实体课堂或是传统网校搬上移动设备的一整套解决方案,包括: 流媒体直播;服务器端交互页面;移动设备客户端。
2.如权利要求1所述的方案,首先,使用H.264标准进行高效压缩。
3.如权利要求2所述的方案,还包括,使用更有效的运动估计搜索算法等方式提高压缩率,以获得更流畅的通信传输。
4.如权利要求2,3所述的方案,可使压缩率能达到MPEG4标准的1.5?2倍,接近2倍。这样就大大减少了网络传输的负担。
5.如权利要求4所述的方案,处理后的源视频还需要转换符合流媒体直播标准的文件,即根据网络带宽及状况的不同自动选择相应规格的视频。
6.如权利要求1所述方案,本发明中流媒体的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。
7.如权利要求6所述方案,当媒体流正在播放时,客服端可以选择从许多不同的备用源中以不同的速率下载同样资源,允许流媒体会话适应不同的数据速率。
8.如权利要求7所述方案,在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U(m3u8)playlist文件,用于寻找可用的数据流。
9.如权利要求8所述方案,这个过程会把视频文件切割成很多个ts的文件。且其分割过程大多是按时间来切,根据国外的资料,建议切IOs —个文件,如果码流高可以5s —次。
10.如权利要求9所述方案,在切割的同时,对切割好的文件进行AES-128加密,同时m3u8文件中生成密钥。
【文档编号】H04N21/234GK103974086SQ201310044343
【公开日】2014年8月6日 申请日期:2013年2月5日 优先权日:2013年2月5日
【发明者】张铮, 徐崇, 李金龙 申请人:天津奇异果科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1