UNPKG

@ctrl/video-filename-parser

Version:
30 lines (29 loc) 1.03 kB
export var VideoCodec; (function (VideoCodec) { VideoCodec["X265"] = "x265"; VideoCodec["X264"] = "x264"; VideoCodec["H264"] = "h264"; VideoCodec["H265"] = "h265"; VideoCodec["WMV"] = "WMV"; VideoCodec["XVID"] = "xvid"; VideoCodec["DVDR"] = "dvdr"; })(VideoCodec || (VideoCodec = {})); const codecPatterns = [ { codec: VideoCodec.H264, regex: /h264/i }, { codec: VideoCodec.H265, regex: /h265/i }, { codec: VideoCodec.X265, regex: /x265|HEVC/i }, { codec: VideoCodec.X264, regex: /x264/i }, { codec: VideoCodec.XVID, regex: /XvidHD|X-?vid|divx/i }, { codec: VideoCodec.WMV, regex: /WMV/i }, { codec: VideoCodec.DVDR, regex: /DVDR\b/i }, ]; export const codecExp = new RegExp(codecPatterns.map(({ regex }) => regex.source).join('|'), 'i'); export function parseVideoCodec(title) { for (const { codec, regex } of codecPatterns) { const match = regex.exec(title); if (match) { return { codec, source: match[0] }; } } return {}; }