-
Notifications
You must be signed in to change notification settings - Fork 55
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(epg): add epg component and live channel and schedule support
Features: * Add a page with an EPG viewer, so that users can see which programs and channels are currently live * Ability to click on a live program on the EPG view to navigate to the live stream, so that users watch the program live * Ability to click on a past program on the EPG view and navigate to a detail page for this program, so that users can start watching past programs (DVR) * Ability to start the current program from the beginning, so users watch the full program even while it already started Known issues: * The EPG view only shows the current day (00:00 until 00:00 the next day.) This is because the Planby module is developed for single day schedules. * The EPG view needs a solid background for it to work visually * The EPG view doesn’t contain custom text for failed or empty schedules * The EPG view can show programs as “live” too long. This is caused by Planby updating the live state every 2 minutes which is longer than necessary * The EPG service SHOULD work with the Vualto VIS Chapterpoints API, but due to CORS restrictions, it currently doesn't work. When CORS headers are added to the API, it should work immediately * The “Watch from start” button doesn't work 100% of the time and plays the stream at the live position instead. This is being investigate with the Player team from JW Player
- Loading branch information
1 parent
e8bfc1b
commit 3c84877
Showing
105 changed files
with
6,749 additions
and
1,093 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,6 +25,7 @@ module.exports = { | |
'signing', | ||
'entitlement', | ||
'config', | ||
'epg', | ||
], | ||
], | ||
}, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# 24x7 live channels with EPG | ||
|
||
If you want to list one or more 24x7 livestream channels, it is possible to enable a custom page with an EPG view. Of | ||
course, you would need to have EPG data available for this to work. | ||
|
||
<img title="" src="img/live-channels-epg.png" alt="Series" width="580"> | ||
|
||
Below are the steps to enable the live channels page in your OTT Webapp. | ||
|
||
## Create a Live Channels playlist | ||
|
||
Navigate to the JW Dashboard and create a new MANUAL playlist. You can give any name to this playlist. This is useful if | ||
you want to add this playlist as a shelf on the homepage. | ||
|
||
Note down the playlist ID for future reference. | ||
|
||
Add all live channel media items to the playlist. The order you put them in is respected, so order the media items | ||
accordingly. | ||
|
||
Go to the "Custom Parameters" section and add a new parameter with name "contentType" and value "Live". | ||
|
||
## Update Live Channel Media Items | ||
|
||
This step is needed for all live channel media items you've added to the playlist in the previous step. | ||
|
||
Add the following Custom Parameters to the media item: | ||
|
||
- **contentType**: LiveChannel | ||
- **liveChannelsId**: playlist id noted down in previous step | ||
- **scheduleUrl**: URL to your EPG data | ||
|
||
## Add a Live menu item | ||
|
||
If you've completed the previous steps, you should be able to add a menu item using the noted down playlist ID. | ||
|
||
In your OTT config file, add a new item in the `menu` section: | ||
|
||
```json | ||
{ | ||
"menu": [ | ||
{ | ||
"label": "Live", | ||
"contentId": "LIVE_PLAYLIST_ID", | ||
"type": "playlist" | ||
} | ||
] | ||
} | ||
``` | ||
|
||
> Replace `LIVE_PLAYLIST_ID` with the Live Channels playlist ID created earlier. | ||
Now when you open your OTT Webapp, you should see a new menu item in the header or drawer on mobile devices. After | ||
clicking on the "Live" menu item, the Live Channels page with EPG view should be visible. | ||
|
||
## EPG Data structure | ||
|
||
The EPG view expects a certain data structure in order to work. This is based on the VIS Chapterpoints API so that it | ||
integrates seamlessly. | ||
|
||
```json | ||
[ | ||
{ | ||
"id": "00990617-c229-4d1e-b341-7fe100b36b3c", | ||
"title": "Peaky Blinders", | ||
"startTime": "2022-07-15T00:05:00Z", | ||
"endTime": "2022-07-15T00:55:00Z", | ||
"chapterPointCustomProperties": [ | ||
{ | ||
"key": "description", | ||
"value": "A gangster family epic set in 1900s England, centering on a gang who sew razor blades in the peaks of their caps, and their fierce boss Tommy Shelby." | ||
}, | ||
{ | ||
"key": "image", | ||
"value": "https://www.themoviedb.org/t/p/w1066_and_h600_bestv2/wiE9doxiLwq3WCGamDIOb2PqBqc.jpg" | ||
} | ||
] | ||
} | ||
] | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.