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

List:       helix-server-cvs
Subject:    [Server-cvs] admin/web/src/srvprxy config_mpeg2ts.html.wasm, 1.21.4.3, 1.21.4.4
From:       tniu () helixcommunity ! org
Date:       2013-11-29 9:34:27
[Download RAW message or body]

Update of /cvsroot/server/admin/web/src/srvprxy
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv30255/src/srvprxy

Modified Files:
      Tag: SERVER_15_1_0
	config_mpeg2ts.html.wasm 
Log Message:


Synopsis
========
This CR fix bug:  
(HLXSRV-361) Helix Server V.15 stops creating segments (.ts) files, if you access a \
live stream before the Minimum Playlist Segments reaches the stated value. \
(http://jira.real.com/browse/HLXSRV-361) (HLXSRV-470) Helix Server to create playlist \
long playlist for live-seeking with generic HLS media players. \
(http://jira.real.com/browse/HLXSRV-470) (HLXSRV-164) Request: Generate a M3U8 \
playlist file before minimum segment value reached. \
(http://jira.real.com/browse/HLXSRV-164)

Branch : HEAD

Suggested Reviewer : Anyone

Description
===========
Repro Steps: 
1. Install Helix Server v15.02 On rhel5 or Win2k8 R2 

2. Open the Helix Administrator. 
    Scroll to Media Delivery ->HLS Setup 
    Ensure that Enable Segmentation is set to Yes. 
    Select /broadcast/ under Edit Source Path -> 
    Ensure that Enable Source Path is set to Yes. 
    Under the Minimum Playlist Segments, enter a value of 60 

3. Create an SLTA stream, send it to the same Helix server you installed in step 1. 
     i.e. 
# ./slta.sh 192.168.127.14 80 admin Avaya live.mp4 meet.mp4 

4. Go to realserver/Segments/HLS_TS/broadcast/live.mp4, Watch the number of .ts files \
grow to between 15-30 .ts files. 

5. Open Safari via an iPad, iPhone or via Vlc media player, playback the live stream. \
http://HelixServer/m3ugen/broadcast/live.mp4 

Actual:
moving to bug

Expected:
- The .m3u8 file is created even if the number of .ts files in it are less than the \
                number configured in Minimum Playlist Segments
- The .ts files continue to be created,
- The player plays the live stream via HLS 

If for any reason this is not possible or too difficult to implement then an \
alternative acceptable result would be: 

- The .ts files continue to be created
- As long as the number of .ts files is less than the number configured in Minimum \
                Playlist Segments, the playback request is rejected with a 404 error \
                message. 
- When the number of .ts files reaches the number configured in Minimum Playlist \
Segments, an .m3u8 file is created and future playback requests are responded with \
                200 OK and a successful playback.  
- In no case the mere attempt to play back a stream that is "not ready yet" should \
stop the creation of .ts files or make the stream anyhow inaccessible. 

My solution:
Add input label "Maximum Playlist Segments" on HLS set up page to control total \
number of segments. When segments number reaches "Minimum Playlist Segments", \
generates .m3u8 file, and then continue to update this .m3u8 file after a segment is \
done. when segments number reaches "Maximum Playlist Segments", delete the oldest \
segments and update .m3u8 file when a new segment is done. If want to ENABLE HLS Time \
Shifting, we need to set "Maximum Playlist Segments" less than "Minimum Playlist \
Segments".


Files Affected
==============
server/admin/web/build/server/config_mpeg2ts.html
server/admin/web/build/mserver/config_mpeg2ts.html
server/admin/web/src/srvprxy/config_mpeg2ts.html.wasm
datatype_rn/mpeg2/ts/filewriter/pub/ctsarchiver.h
datatype_rn/mpeg2/ts/filewriter/ctsarchiver.cpp
datatype_rn/mpeg2/ts/filewriter/playlistgen.cpp
server_rn/datatype/mpeg2ts/streamhandler.cpp


Test perform
================
Integration Tests:
N/A.

Performance Tests: 
N/A

QA Hints
========
None.


Index: config_mpeg2ts.html.wasm
===================================================================
RCS file: /cvsroot/server/admin/web/src/srvprxy/config_mpeg2ts.html.wasm,v
retrieving revision 1.21.4.3
retrieving revision 1.21.4.4
diff -u -d -r1.21.4.3 -r1.21.4.4
--- config_mpeg2ts.html.wasm	16 Oct 2013 10:11:59 -0000	1.21.4.3
+++ config_mpeg2ts.html.wasm	29 Nov 2013 09:34:24 -0000	1.21.4.4
@@ -60,6 +60,7 @@
     new PropObj( 'MountPoint', "", true, true, null, null, "mountpoint", "Content \
                MountPoint" ),
     new PropObj('MPEG2-TS_Output.SegmentDuration', "10", false, false, "1", null, \
                null, "int", "Segment Duration"),
     new PropObj('MPEG2-TS_Output.PlaylistSegments', "3", false, false, "3", null, \
null, "int", "Playlist Segments"), +    new \
PropObj('MPEG2-TS_Output.MaxPlaylistSegments', "0", false, false, "0", null, null, \
"int", "Max Playlist Segments"),  
     new PropObj('MPEG2-TS_Output.SegmentPurgeSize', "5120", false, false, "0", null, \
                null, "int", "Segment Purge Size"),
     new PropObj('MPEG2-TS_Output.Encryption', "0", false, false, null, null, \
"ShortName", "Encryption"), @@ -513,6 +514,8 @@
         <@= formElemText( "Segment Duration" , name => \
"MPEG2-TS_Output.SegmentDuration", class => "input", units=> "seconds", size=>16, \
maxlength=>16 ); @>  <BR>
         <@= formElemText( "Minimum Playlist Segments" , name => \
"MPEG2-TS_Output.PlaylistSegments", class => "input", size=>16, maxlength=>16); @> +  \
<BR> +        <@= formElemText( "Maximum Playlist Segments" , name => \
"MPEG2-TS_Output.MaxPlaylistSegments", class => "input", size=>16, maxlength=>16); @> \
  <BR><BR>
         <@= formElemSelect( "Segment Encryption",  


_______________________________________________
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