UNPKG

ovenplayer

Version:

OvenPlayer is Open-Source HTML5 Player. OvenPlayer supports WebRTC Signaling from OvenMediaEngine for Sub-Second Latency Streaming.

57 lines (45 loc) 1.27 kB
/** * Created by hoho on 2018. 5. 29.. */ import { hmsToSecond, trim } from "utils/strings" function _entry(data) { var entry = {}; var array = data.split('\r\n'); if (array.length === 1) { array = data.split('\n'); } var idx = 1; if (array[0].indexOf(' --> ') > 0) { idx = 0; } if (array.length > idx + 1 && array[idx + 1]) { // This line contains the start and end. var line = array[idx]; var index = line.indexOf(' --> '); if (index > 0) { entry.start = hmsToSecond(line.substr(0, index)); entry.end = hmsToSecond(line.substr(index + 5)); entry.text = array.slice(idx + 1).join('\r\n'); } } return entry; } const SrtParser = function(data) { var captions = []; data = trim(data); var list = data.split('\r\n\r\n'); if (list.length === 1) { list = data.split('\n\n'); } for (var i = 0; i < list.length; i++) { if (list[i] === 'WEBVTT') { continue; } var entry = _entry(list[i]); if (entry.text) { captions.push(entry); } } return captions; } export default SrtParser;