[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