[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] admin/web server.opt,1.18,1.19
From: yijil () helixcommunity ! org
Date: 2013-01-29 5:28:08
[Download RAW message or body]
Update of /cvsroot/server/admin/web
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv32467
Modified Files:
server.opt
Log Message:
ommitted to: HEAD, SERVER_15_0_RN
Reviewed by: Xiaocheng, Richard, James
Synopsis
========
BuyDRM HLS integration
Branches: HEAD, SERVER_15_0_RN
Reviewer: Anyone
Description
===========
I. Intro
===================================================
BuyDrm is an important DRM vendor in the world. With the so called KeyOS Device DRM \
solution, it could protect stream media content over smooth stream, windows media, \
HLS to IOS and android devices. Customers could use it with their VOD and OTT \
services.
For the feature, the Helix Universal Server fetch key from BuyDRM key server. The \
server uses the key to encrypt content stream and updates the m3u8 file with the key \
at the same time, send the content stream to client by using HLS.
II. What feature will be implemented in Helix Server \
=================================================== 1. Could set the BuyDRM Key \
Server URL 2. Could connect to the BuyDRM Key Server and Fetch key.
3. Could map each stream with content ID and key ID, can support get/getall/del \
content ID and Key ID. 4. Could protect the stream with its random generated key when \
BuyDRM Key Server down 5. can support single-rate/multi-rate stream, can support hpl. \
5. Add a new web group "DRM" for all drm page, move admin page for Verimatrix to the \
group.
A new web page is created for BuyDRM HLS DRM, The cfg example lists below, <List \
Name="BuyDrm_DRM"> <Var EnableRandomKeyWhenFail="0"/>
<Var KeyServerAddr="http://api.licensekeyserver.com/pck/"/>
<Var UserKey="816c06ed-407b-abcd-0d4e-7dc123456783"/>
<Var HttpPassword="abca"/>
<Var KeyServerRequestTimeout="5"/>
</List>
6. refract code for verimatrix
7. update admin page for verimatrix, when modify HTTP API Password, make it needn`t \
restart.
III. Solution Description
===================================================
1. In CStreamHandler, add codes to trigger buydrm scrambler and handle the response \
from buydrm.
2. CBuyDrmHandler and CBuyDrmScrambler implements key fetch process,
3. Add class EnhancedHTTPParser which extends from HTTPParser to parse http message \
whose content length is non-zero, and fetch content from http message.
4. In CTSArchiver, updates code to use key from buydrm to encrypt content
5. In CPlaylistGenerator, add new code to support tag " #EXT-X-INI-PRHDR "
6. in m3ugen plugin, add codes to create m3u8 for hpl request
7. add BuyDrmHttpApiHandler to support API method for buydrm
8. modify codes which used by VCAS before to support multiple type of DRM
9. change HELIX_FEATURE_SERVER_DRM_VCAS to HELIX_FEATURE_SERVER_DRM
IV. New files
server_rn/common/util/buydrmscrambler.cpp
server_rn/common/util/pub/buydrmscrambler.h
server_rn/common/util/drmutil.cpp
server_rn/common/util/pub/drmutil.cpp
server_rn/datatype/mpeg2ts/drmhandler.cpp
server_rn/datatype/mpeg2ts/pub/drmhandler.h
server/admin/web/build/server/config_drm_buydrm.html
server/admin/web/build/mserver/config_drm_buydrm.html
server/admin/web/src/srvprxy/config_drm_buydrm.html.wasm
VI. Files Affected
==============
common/include/defslice.h
common/include/hxdrmscrambler.h
common/include/hxiids.h
datatype_rn/mpeg2/ts/filewriter/ctsarchiver.cpp
datatype_rn/mpeg2/ts/filewriter/pub/ctsarchiver.h
datatype_rn/mpeg2/ts/filewriter/pub/playlistgen.h
protocol/http/httppars.cpp
protocol/http/pub/httppars.h
server-restricted/installer/server/retailservinst.cpp
build/umakepf/helix-server-all-defines.pf
server/protocol/http/http_demux.cpp
server_rn/common/util/Umakefil
server_rn/common/util/drmpathmap.cpp
server_rn/common/util/m3uutil.cpp
server_rn/common/util/pub/drmpathmap.h
server_rn/common/util/pub/m3uutil.h
server_rn/common/util/pub/mpeg2ts_config_names.h
server_rn/common/util/pub/vcasscrambler.h
server_rn/appext/m3ugen/iphoneplaylistparser.cpp
server_rn/appext/m3ugen/m3ugenfsys.cpp
server_rn/appext/m3ugen/readm3u8.cpp
server_rn/datatype/mpeg2ts/Umakefil
server_rn/datatype/mpeg2ts/mpeg2tsplin.cpp
server_rn/datatype/mpeg2ts/streamhandler.cpp
server_rn/datatype/mpeg2ts/pub/streamhandler.h
server-restricted/protocol/http-ctrl/drmhttpapi_handler.cpp
server-restricted/protocol/http-ctrl/pub/drmhttpapi_handler.h
server/engine/core/Umakefil
server/engine/core/core_proc.cpp
server/engine/core/proc_container.cpp
server/engine/core/server_context.cpp
server/engine/core/pub/proc_container.h
server/admin/web/server.opt
server/admin/web/build/mproxy/config_pending.nc.html
server/admin/web/build/mserver/browse_content.html
server/admin/web/build/mserver/config_bookmarking.html
server/admin/web/build/mserver/config_broad_hls.html
server/admin/web/build/mserver/config_broad_mpeg2ts_ingress.html
server/admin/web/build/mserver/config_broad_push2cdn.html
server/admin/web/build/mserver/config_broad_rtmp_ingress.html
server/admin/web/build/mserver/config_broad_rtmp_send.html
server/admin/web/build/mserver/config_drm.html
server/admin/web/build/mserver/config_mpeg2ts.html
server/admin/web/build/mserver/config_multiplexer.html
server/admin/web/build/mserver/config_pending.nc.html
server/admin/web/build/mserver/toc.js
server/admin/web/build/proxy/config_pending.nc.html
server/admin/web/build/server/browse_content.html
server/admin/web/build/server/config_bookmarking.html
server/admin/web/build/server/config_broad_hls.html
server/admin/web/build/server/config_broad_mpeg2ts_ingress.html
server/admin/web/build/server/config_broad_push2cdn.html
server/admin/web/build/server/config_broad_rtmp_ingress.html
server/admin/web/build/server/config_broad_rtmp_send.html
server/admin/web/build/server/config_drm.html
server/admin/web/build/server/config_mpeg2ts.html
server/admin/web/build/server/config_multiplexer.html
server/admin/web/build/server/config_pending.nc.html
server/admin/web/build/server/toc.js
server/admin/web/src/srvprxy/config_drm.html.wasm
server/admin/web/src/srvprxy/config_mpeg2ts.html.wasm
server/admin/web/src/srvprxy/pageData.pm
server/admin/web/src/srvprxy/toc~server.js.wasm
Testing Performed
=================
Test KeyOs on iPhone/iPad
Index: server.opt
===================================================================
RCS file: /cvsroot/server/admin/web/server.opt,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- server.opt 5 Sep 2012 13:52:25 -0000 1.18
+++ server.opt 29 Jan 2013 05:27:51 -0000 1.19
@@ -54,6 +54,7 @@
srvprxy/config_dash.html.wasm
srvprxy/config_mpeg2ts.html.wasm
srvprxy/config_drm.html.wasm
+srvprxy/config_drm_buydrm.html.wasm
srvprxy/config_multiplexer.html.wasm
srvprxy/config_multiplexer_result.html.wasm
srvprxy/config_bookmarking.html.wasm
_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic