[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-server-cvs
Subject:    [Server-cvs] admin/web/build/server browse_content.html, 1.10, 1.11 config_bookmarking.html, 1.7, 1.
From:       yijil () helixcommunity ! org
Date:       2013-01-29 5:28:26
[Download RAW message or body]

Update of /cvsroot/server/admin/web/build/server
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv32467/build/server

Modified Files:
	browse_content.html config_bookmarking.html 
	config_broad_hls.html config_broad_mpeg2ts_ingress.html 
	config_broad_push2cdn.html config_broad_rtmp_ingress.html 
	config_broad_rtmp_send.html config_drm.html 
	config_mpeg2ts.html config_multiplexer.html 
	config_pending.nc.html toc.js 
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: config_bookmarking.html
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/config_bookmarking.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- config_bookmarking.html	19 Aug 2012 08:43:08 -0000	1.7
+++ config_bookmarking.html	29 Jan 2013 05:28:03 -0000	1.8
@@ -28,7 +28,7 @@
 {
    document.write( '<LINK REL=stylesheet HREF="main.css" TYPE="text/css">' );
 }
-var contextID = "54";
+var contextID = "55";
 </SCRIPT>
 
 <SCRIPT SRC="propview.js"></SCRIPT>

Index: config_broad_mpeg2ts_ingress.html
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/config_broad_mpeg2ts_ingress.html,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- config_broad_mpeg2ts_ingress.html	21 Dec 2012 09:51:34 -0000	1.15
+++ config_broad_mpeg2ts_ingress.html	29 Jan 2013 05:28:03 -0000	1.16
@@ -28,7 +28,7 @@
 {
    document.write( '<LINK REL=stylesheet HREF="main.css" TYPE="text/css">' );
 }
-var contextID = "60";
+var contextID = "61";
 </SCRIPT>
 
 <SCRIPT SRC="propview.js"></SCRIPT>
@@ -243,6 +243,29 @@
     setCtrlValue( theForm.PortRange1, (aTemp[1] ? aTemp[1] : ""), true );
     setCtrlValue( theForm.Port0, (aTemp[0] ? aTemp[0] : ""), true );
     setCtrlValue( theForm.Port1, (aTemp[1] ? aTemp[1] : ""), true );	
+    if( getCtrlValue(theForm.PortRange0) != getCtrlValue(theForm.PortRange1) )
+    {
+            theForm["ProgramNumber"].disabled = true;
+            theForm["VideoPID"].disabled = true;
+            theForm["AudioPID"].disabled = true;
+            theForm["VideoBitRate"].disabled = true;
+            theForm["AudioBitRate"].disabled = true;
+            theForm["ProgramNumber"].value = "";
+            theForm["VideoPID"].value = "";
+            theForm["AudioPID"].value = "";
+            theForm["VideoBitRate"].value = "";
+            theForm["AudioBitRate"].value = "";
+    }
+    else
+    {
+            theForm["ProgramNumber"].disabled = false;
+            theForm["VideoPID"].disabled = false;
+            theForm["AudioPID"].disabled = false;
+            theForm["VideoBitRate"].disabled = false;
+            theForm["AudioBitRate"].disabled = false;
+
+    }
+
     return true;
 
 }

Index: browse_content.html
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/browse_content.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- browse_content.html	3 Jul 2012 13:33:23 -0000	1.10
+++ browse_content.html	29 Jan 2013 05:28:03 -0000	1.11
@@ -28,7 +28,7 @@
 {
    document.write( '<LINK REL=stylesheet HREF="main.css" TYPE="text/css">' );
 }
-var contextID = "57";
+var contextID = "58";
 </SCRIPT>
 
 <STYLE>

Index: toc.js
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/toc.js,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- toc.js	27 Sep 2012 08:10:02 -0000	1.23
+++ toc.js	29 Jan 2013 05:28:03 -0000	1.24
@@ -29,13 +29,17 @@
 	tmpParent = new TOCLink( "Media Delivery", "" );
 	new TOCLinkLicensed( "HLS Setup", "config_mpeg2ts.html", tmpParent, \
"General.MPEG2TSSupport");  new TOCLinkLicensed( "DASH Setup", "config_dash.html", \
                tmpParent, "General.DASHSupport");
-	new TOCLinkLicensed( "Verimatrix DRM", "config_drm.html", tmpParent, \
"DRM.VCASSupport");  new TOCLink( "RTSP Rate Adaptation", "config_mduap.html", \
tmpParent );  new TOCLinkLicensed( "RTSP Fast Channel Switching", "config_fcs.html", \
                tmpParent, "FastChannelSwitching.Enabled");
     new TOCLinkLicensed( "Server-Side Playlists", "config_sspl.html", tmpParent, \
                "ServersidePlaylist.Enabled");
     new TOCLinkLicensed( "Stream Bookmarking", "config_bookmarking.html", tmpParent, \
"General.Bookmarking");  new TOCLink( "Differentiated Services", "config_qos.html", \
tmpParent );  
+	// *** Media Delivery ***
+	tmpParent = new TOCLink( "DRM", "" );
+	new TOCLinkLicensed( "Verimatrix DRM", "config_drm.html", tmpParent, \
"DRM.VCASSupport"); +	new TOCLinkLicensed( "Buy DRM", "config_drm_buydrm.html", \
tmpParent, "DRM.BuyDRMSupport"); +
 	// *** Broadcasting ***
 	tmpParent = new TOCLink( "Broadcasting", "" );
 

Index: config_pending.nc.html
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/config_pending.nc.html,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- config_pending.nc.html	27 Sep 2012 08:10:02 -0000	1.18
+++ config_pending.nc.html	29 Jan 2013 05:28:03 -0000	1.19
@@ -96,10 +96,10 @@
 aTabTitles[ "36" ] = "RTSP Fast Channel Switching";
 aTabTitles[ "37" ] = "Server-Side Playlists";
 aTabTitles[ "44" ] = "Redundant Servers";
-aTabTitles[ "55" ] = "Player Setup";
-aTabTitles[ "56" ] = "Player Update";
+aTabTitles[ "56" ] = "Player Setup";
+aTabTitles[ "57" ] = "Player Update";
 aTabTitles[ "26" ] = "Welcome";
-aTabTitles[ "57" ] = "Content Browsing";
+aTabTitles[ "58" ] = "Content Browsing";
 aTabTitles[ "41" ] = "Proxy Monitor";
 aTabTitles[ "42" ] = "Streaming Samples";
 aTabTitles[ "45" ] = "Capability Exchange";
@@ -110,13 +110,14 @@
 aTabTitles[ "50" ] = "HLS Setup";
 aTabTitles[ "51" ] = "DASH Setup";
 aTabTitles[ "52" ] = "Verimatrix DRM";
-aTabTitles[ "53" ] = "Multiplexing";
-aTabTitles[ "54" ] = "Stream Bookmarking";
-aTabTitles[ "58" ] = "Flash Live Streams";
-aTabTitles[ "60" ] = "MPEG2-TS Live Streams";
-aTabTitles[ "59" ] = "HLS Time Shifting";
-aTabTitles[ "61" ] = "HLS Push";
-aTabTitles[ "62" ] = "RTMP Push";
+aTabTitles[ "53" ] = "Buy DRM";
+aTabTitles[ "54" ] = "Multiplexing";
+aTabTitles[ "55" ] = "Stream Bookmarking";
+aTabTitles[ "59" ] = "Flash Live Streams";
+aTabTitles[ "61" ] = "MPEG2-TS Live Streams";
+aTabTitles[ "60" ] = "HLS Time Shifting";
+aTabTitles[ "62" ] = "HLS Push";
+aTabTitles[ "63" ] = "RTMP Push";
 
 var fChanges = ( isObj(diffConfig) && isObj(diffConfig.config) );
 

Index: config_broad_rtmp_ingress.html
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/config_broad_rtmp_ingress.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- config_broad_rtmp_ingress.html	10 Oct 2012 08:48:45 -0000	1.11
+++ config_broad_rtmp_ingress.html	29 Jan 2013 05:28:03 -0000	1.12
@@ -28,7 +28,7 @@
 {
    document.write( '<LINK REL=stylesheet HREF="main.css" TYPE="text/css">' );
 }
-var contextID = "58";
+var contextID = "59";
 </SCRIPT>
 
 <SCRIPT SRC="propview.js"></SCRIPT>

Index: config_mpeg2ts.html
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/config_mpeg2ts.html,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- config_mpeg2ts.html	28 Aug 2012 08:24:46 -0000	1.18
+++ config_mpeg2ts.html	29 Jan 2013 05:28:03 -0000	1.19
@@ -342,7 +342,7 @@
 {
     if (controls.name == "MPEG2-TS_Output.Encryption")
     {
-        if (controls.value == "aes128")
+        if (controls.value == "aes128" || controls.value == "buydrm")
         {
             theForm["MPEG2-TS_Output.KeyFileWriteLocation"].disabled = false;
             theForm["MPEG2-TS_Output.KeyFileInterval"].disabled = false;
@@ -573,6 +573,7 @@
         Segment Encryption
         <BR>
         <select CLASS="longInput" NAME="MPEG2-TS_Output.Encryption" \
ONCHANGE="EnableDisableControls(this)" SIZE="1" WIDTH="253"> +            <OPTION \
value="buydrm">Buy DRM</OPTION>  <OPTION value="none">None</OPTION>
             <OPTION value="vcas">Verimatrix DRM</OPTION>
             <OPTION value="aes128">AES128</OPTION>

Index: config_multiplexer.html
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/config_multiplexer.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- config_multiplexer.html	3 Jul 2012 13:33:24 -0000	1.9
+++ config_multiplexer.html	29 Jan 2013 05:28:03 -0000	1.10
@@ -28,7 +28,7 @@
 {
    document.write( '<LINK REL=stylesheet HREF="main.css" TYPE="text/css">' );
 }
-var contextID = "53";
+var contextID = "54";
 </SCRIPT>
 
 <SCRIPT SRC="propview.js"></SCRIPT>

Index: config_broad_push2cdn.html
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/config_broad_push2cdn.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- config_broad_push2cdn.html	20 Sep 2012 09:23:01 -0000	1.9
+++ config_broad_push2cdn.html	29 Jan 2013 05:28:03 -0000	1.10
@@ -28,7 +28,7 @@
 {
    document.write( '<LINK REL=stylesheet HREF="main.css" TYPE="text/css">' );
 }
-var contextID = "61";
+var contextID = "62";
 </SCRIPT>
 
 <SCRIPT SRC="propview.js"></SCRIPT>

Index: config_drm.html
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/config_drm.html,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- config_drm.html	19 Oct 2012 10:09:39 -0000	1.14
+++ config_drm.html	29 Jan 2013 05:28:03 -0000	1.15
@@ -208,11 +208,10 @@
 {
     if( getCtrlValue( theForm.HttpPassword ) != getCtrlValue( theForm.HttpPassword2 \
) )  {
-	return rejectInput( theForm.HttpPassword, "Passwords do not match" );
+		return rejectInput( theForm.HttpPassword, "Passwords do not match" );
     }
 
-    if( propList.subList( 'HLS_DRM' ).isDirty() ||
-        propList.prop("HttpPassword").isDirty())
+    if( propList.subList('HLS_DRM' ).isDirty())
     {
         this.m_serverMethod = "configvar";
     }
@@ -271,7 +270,7 @@
 >
 <TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
 <TR><TD align="left" valign="bottom" width="100%" NOWRAP>
-   <P class="headline">MEDIA DELIVERY</P>
+   <P class="headline">DRM</P>
 </TD></TR>
 <TR>
 </TABLE>
@@ -329,7 +328,7 @@
         </tr>
         <tr>
         <TD class="input" valign="top" align="RIGHT" width="44%">
-        		<span class="offsetLabel">HTTP API Password<FONT \
color="red">*</FONT></span> +        		<span class="offsetLabel">HTTP API \
Password</span>  </td>
         	<TD class="input" valign="top" align="left" width="56%">
         		<input CLASS="input" MAXLENGTH="14" NAME="HttpPassword" SIZE="20" \
TYPE="password" VALUE=""> @@ -337,7 +336,7 @@
         </tr>
         <tr>
         <TD class="input" valign="top" align="RIGHT" width="44%">
-        		<span class="offsetLabel">Confirm HTTP API Password<FONT \
color="red">*</FONT></span> +        		<span class="offsetLabel">Confirm HTTP API \
Password</span>  </td>
         	<TD class="input" valign="top" align="left" width="56%">
         		<input CLASS="input" MAXLENGTH="14" NAME="HttpPassword2" SIZE="20" \
TYPE="password" VALUE="">

Index: config_broad_rtmp_send.html
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/config_broad_rtmp_send.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- config_broad_rtmp_send.html	24 Jan 2013 10:00:31 -0000	1.11
+++ config_broad_rtmp_send.html	29 Jan 2013 05:28:03 -0000	1.12
@@ -28,7 +28,7 @@
 {
    document.write( '<LINK REL=stylesheet HREF="main.css" TYPE="text/css">' );
 }
-var contextID = "62";
+var contextID = "63";
 </SCRIPT>
 
 <SCRIPT SRC="propview.js"></SCRIPT>

Index: config_broad_hls.html
===================================================================
RCS file: /cvsroot/server/admin/web/build/server/config_broad_hls.html,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- config_broad_hls.html	6 Sep 2012 08:22:13 -0000	1.12
+++ config_broad_hls.html	29 Jan 2013 05:28:03 -0000	1.13
@@ -28,7 +28,7 @@
 {
    document.write( '<LINK REL=stylesheet HREF="main.css" TYPE="text/css">' );
 }
-var contextID = "59";
+var contextID = "60";
 </SCRIPT>
 
 <SCRIPT SRC="propview.js"></SCRIPT>


_______________________________________________
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