Refactor M3U8 playlist generation for improved readability and maintainability
This commit is contained in:
parent
826f21763d
commit
7e3605a8f1
23
src/video.js
23
src/video.js
@ -527,25 +527,24 @@ function video( channelService, fillerDB, db, programmingService, activeChannelS
|
||||
|
||||
var data = "#EXTM3U\n"
|
||||
|
||||
data += `#EXT-X-VERSION:3
|
||||
#EXT-X-MEDIA-SEQUENCE:0
|
||||
#EXT-X-ALLOW-CACHE:YES
|
||||
#EXT-X-TARGETDURATION:60
|
||||
#EXT-X-PLAYLIST-TYPE:VOD\n`;
|
||||
data += `#EXT-X-VERSION:3\n#EXT-X-MEDIA-SEQUENCE:0\n#EXT-X-ALLOW-CACHE:YES\n#EXT-X-TARGETDURATION:60\n#EXT-X-PLAYLIST-TYPE:VOD\n`;
|
||||
|
||||
let ffmpegSettings = db['ffmpeg-settings'].find()[0]
|
||||
|
||||
cur ="59.0";
|
||||
// Duration to advertise for each pseudo-segment (seconds). Keep slightly
|
||||
// below TARGETDURATION to avoid premature reloads.
|
||||
let cur = "59.0";
|
||||
|
||||
function addSegment(url) {
|
||||
data += `#EXTINF:${cur},\n${url}\n`;
|
||||
}
|
||||
|
||||
if ( ffmpegSettings.enableFFMPEGTranscoding === true) {
|
||||
//data += `#EXTINF:${cur},\n`;
|
||||
data += `${req.protocol}://${req.get('host')}/stream?channel=${channelNum}&first=0&m3u8=1&session=${sessionId}\n`;
|
||||
addSegment(`${req.protocol}://${req.get('host')}/stream?channel=${channelNum}&first=0&m3u8=1&session=${sessionId}`)
|
||||
}
|
||||
//data += `#EXTINF:${cur},\n`;
|
||||
data += `${req.protocol}://${req.get('host')}/stream?channel=${channelNum}&first=1&m3u8=1&session=${sessionId}\n`
|
||||
addSegment(`${req.protocol}://${req.get('host')}/stream?channel=${channelNum}&first=1&m3u8=1&session=${sessionId}`)
|
||||
for (var i = 0; i < maxStreamsToPlayInARow - 1; i++) {
|
||||
//data += `#EXTINF:${cur},\n`;
|
||||
data += `${req.protocol}://${req.get('host')}/stream?channel=${channelNum}&m3u8=1&session=${sessionId}\n`
|
||||
addSegment(`${req.protocol}://${req.get('host')}/stream?channel=${channelNum}&m3u8=1&session=${sessionId}`)
|
||||
}
|
||||
|
||||
res.send(data)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user