livepeer / livepeer/studio

Blackscreen for Livestreams using iOS

Open
#1,378 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
88
Forks
37
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug (required)** A clear and concise description of what the bug
is.

Issues with livestreamming into JWPlayer and viewing on iPhones.

See message from client:

> found two moments: black screen and frozen stream with errors.
> the black screen provides error:
> JW Player Error 220001. For more information see https://developer.jwplayer.com/jw-player/docs/developer-guide/api/errors-reference#220001
>
> And the frozen screen is by reason when the livepeer provided bad playlists status.
>
> Usually the player reloads if has errors but in case iOS fullscreen we have not ability to control the stream status as is working system player.
>
> Reference:
> [Error] Failed to load resource: Network connection losts. (chunk_712000.ts, line 0)
> [Error] JW Player Error 220001. For more information see https://developer.jwplayer.com/jw-player/docs/developer-guide/api/errors-reference#220001
>     tt (jwplayer.js:10:13312)
>     f (jwplayer.js:10:48125)
>     (anonymous function) (jwplayer.js:10:47210)
>     (anonymous function) (jwplayer.js:10:26482)
>     triggerError (jwplayer.core.controls.html5.js:10:170548)
>     f (jwplayer.js:10:48125)
>     (anonymous function) (jwplayer.js:10:47210)
>     C (jwplayer.core.controls.html5.js:10:83414)
>     f (jwplayer.js:10:48125)
>     (anonymous function) (jwplayer.js:10:47225)
>     (anonymous function) (jwplayer.js:10:2831)
>     T (jwplayer.core.controls.html5.js:10:82783)
>     f (jwplayer.js:10:48125)
>     (anonymous function) (jwplayer.js:10:47225)
>     (anonymous function) (jwplayer.core.controls.html5.js:10:189663)
>     (anonymous function) (jwplayer.core.controls.html5.js:10:189690)
> [Error] Origin https://home.jesusstream.com/ is not allowed by Access-Control-Allow-Origin. Status code: 502
> [Error] XMLHttpRequest cannot load https://prg-prod-catalyst-1.lp-playback.studio/hls/video+f858twqisx0d4i5k/2_1/index.m3u8?mTrack=0&iMsn=360&tkn=3880618437 due to access control checks.
> [Error] Failed to load resource: Origin https://home.jesusstream.com/ is not allowed by Access-Control-Allow-Origin. Status code: 502 (index.m3u8, line 0)
> [Error] Failed to load resource: the server responded with a status of 502 () (index.m3u8, line 0)
> [Error] Failed to load resource: the server responded with a status of 502 () (index.m3u8, line 0)
> [Error] Failed to load resource: the server responded with a status of 502 () (index.m3u8, line 0)
> [Error] Failed to load resource: the server responded with a status of 502 () (index.m3u8, line 0)
> [Error] Failed to load resource: the server responded with a status of 502 () (index.m3u8, line 0)
> [Error] Failed to load resource: the server responded with a status of 502 () (index.m3u8, line 0)
> [Error] Origin https://home.jesusstream.com/ is not allowed by Access-Control-Allow-Origin. Status code: 502
> [Error] XMLHttpRequest cannot load https://prg-prod-catalyst-1.lp-playback.studio/hls/video+f858twqisx0d4i5k/2_1/index.m3u8?mTrack=0&iMsn=360&tkn=3880618437 due to access control checks.
> [Error] Failed to load resource: Origin https://home.jesusstream.com/ is not allowed by Access-Control-Allow-Origin. Status code: 502 (index.m3u8, line 0)
> [Error] Failed to load resource: the server responded with a status of 502 () (index.m3u8, line 0)
> [Error] Failed to load resource: the server responded with a status of 502 () (index.m3u8, line 0)
> [Error] JW Player Error 220001. For more information see https://developer.jwplayer.com/jw-player/docs/developer-guide/api/errors-reference#220001
>     tt (jwplayer.js:10:13312)
>     f (jwplayer.js:10:48125)
>     (anonymous function) (jwplayer.js:10:47210)
>     (anonymous function) (jwplayer.js:10:26482)
>     triggerError (jwplayer.core.controls.html5.js:10:170548)
>     f (jwplayer.js:10:48125)
>     (anonymous function) (jwplayer.js:10:47210)
>     C (jwplayer.core.controls.html5.js:10:83414)
>     f (jwplayer.js:10:48125)
>     (anonymous function) (jwplayer.js:10:47225)
>     (anonymous function) (jwplayer.js:10:2831)
>     T (jwplayer.core.controls.html5.js:10:82783)
>     f (jwplayer.js:10:48125)
>     (anonymous function) (jwplayer.js:10:47225)
>     (anonymous function) (jwplayer.core.controls.html5.js:10:189663)
>     (anonymous function) (jwplayer.core.controls.html5.js:10:189690)
>

**Expected behavior (required)** A clear and concise description of what you
expected to happen.

Expect to see livestream when viewing on IPhone.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the livestream in JW Player on an iPhone, especially in fullscreen, and inspect the HLS index.m3u8 requests, CORS responses, and 502 errors described in the report. Done means the livestream plays without a black screen or frozen stream on iOS.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, typescript
Domain
audio-video-rtc, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.