Update MPEG-TS detection to use HLS.js transmuxing

Changed MPEG-TS (IPTV) stream detection to use HLS.js for transmuxing instead of native playback, as browsers do not natively support MPEG-TS. Updated related tests and marked 'needsSpecialPlayer' as true. Also configured Vite to treat 'hls.js' and 'flv.js' as external dependencies.
This commit is contained in:
hibna
2025-11-04 05:43:18 +03:00
parent a7b2d84efc
commit 5555dad083
3 changed files with 15 additions and 9 deletions
+6 -6
View File
@@ -5,16 +5,16 @@ describe('videoProtocol', () => {
describe('detectVideoProtocol', () => {
it('should detect MPEG-TS IPTV streams', () => {
const result = detectVideoProtocol('http://favoritv65.xyz:8080/live/Apollon45/HpjWrDa6gWWd/98925.ts')
expect(result.protocol).toBe('native')
expect(result.protocol).toBe('hls')
expect(result.isLive).toBe(true)
expect(result.needsSpecialPlayer).toBe(false)
expect(result.needsSpecialPlayer).toBe(true)
})
it('should detect .ts files with query parameters', () => {
const result = detectVideoProtocol('http://example.com/stream/video.ts?token=abc123')
expect(result.protocol).toBe('native')
expect(result.protocol).toBe('hls')
expect(result.isLive).toBe(true)
expect(result.needsSpecialPlayer).toBe(false)
expect(result.needsSpecialPlayer).toBe(true)
})
it('should detect HLS streams', () => {
@@ -75,8 +75,8 @@ describe('videoProtocol', () => {
expect(isHlsStream('http://example.com/stream.m3u8')).toBe(true)
})
it('should return false for IPTV .ts streams (they are native, not HLS)', () => {
expect(isHlsStream('http://favoritv65.xyz:8080/live/user/pass/98925.ts')).toBe(false)
it('should return true for IPTV .ts streams (they use HLS.js for transmuxing)', () => {
expect(isHlsStream('http://favoritv65.xyz:8080/live/user/pass/98925.ts')).toBe(true)
})
it('should return false for non-HLS streams', () => {