From eca8d44af0930e34cc33aee68c12c5e136e24e83 Mon Sep 17 00:00:00 2001 From: vexorian Date: Sun, 21 Mar 2021 18:10:53 -0400 Subject: [PATCH 1/9] Prepare 1.3.2 development --- README.md | 2 +- src/constants.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c561e27..ff86293 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# dizqueTV 1.3.1-prerelease +# dizqueTV 1.3.2-prerelease ![Discord](https://img.shields.io/discord/711313431457693727?logo=discord&logoColor=fff&style=flat-square) ![GitHub top language](https://img.shields.io/github/languages/top/vexorian/dizquetv?logo=github&style=flat-square) ![Docker Pulls](https://img.shields.io/docker/pulls/vexorian/dizquetv?logo=docker&logoColor=fff&style=flat-square) Create live TV channel streams from media on your Plex servers. diff --git a/src/constants.js b/src/constants.js index b223d2b..15e9c2e 100644 --- a/src/constants.js +++ b/src/constants.js @@ -5,5 +5,5 @@ module.exports = { TVGUIDE_MAXIMUM_FLEX_DURATION : 6 * 60 * 60 * 1000, TOO_FREQUENT: 100, - VERSION_NAME: "1.3.1-prerelease" + VERSION_NAME: "1.3.2-prerelease" } From 542fa93b5b8903ad62afa587a0c668dee4ee3dfc Mon Sep 17 00:00:00 2001 From: vexorian Date: Sun, 21 Mar 2021 18:11:18 -0400 Subject: [PATCH 2/9] Make ffmpeg 4.3 the default in docker --- Dockerfile | 2 +- Dockerfile-nvidia | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 651f823..23435cc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ COPY --from=vexorian/dizquetv:nexecache /var/nexe/linux-x64-12.16.2 /var/nexe/ COPY . . RUN npm run build && LINUXBUILD=dizquetv sh make_dist.sh linuxonly -FROM jrottenberg/ffmpeg:4.2-ubuntu1804 +FROM jrottenberg/ffmpeg:4.3-ubuntu1804 EXPOSE 8000 WORKDIR /home/node/app ENTRYPOINT [ "./dizquetv" ] diff --git a/Dockerfile-nvidia b/Dockerfile-nvidia index 608d7f5..f21f8b1 100644 --- a/Dockerfile-nvidia +++ b/Dockerfile-nvidia @@ -6,7 +6,7 @@ COPY --from=vexorian/dizquetv:nexecache /var/nexe/linux-x64-12.16.2 /var/nexe/ COPY . . RUN npm run build && LINUXBUILD=dizquetv sh make_dist.sh linuxonly -FROM jrottenberg/ffmpeg:4.2-nvidia +FROM jrottenberg/ffmpeg:4.3-nvidia EXPOSE 8000 WORKDIR /home/node/app ENTRYPOINT [ "./dizquetv" ] From fbbcf95bdd090a4d423087c938fde62563c858b5 Mon Sep 17 00:00:00 2001 From: vexorian Date: Sun, 21 Mar 2021 18:12:19 -0400 Subject: [PATCH 3/9] Customizable style.css --- index.js | 5 ++++ resources/default-custom.css | 14 ++++++++++ web/public/index.html | 1 + web/public/style.css | 52 +++++++++++++++--------------------- 4 files changed, 42 insertions(+), 30 deletions(-) create mode 100644 resources/default-custom.css diff --git a/index.js b/index.js index 6eaf637..c592560 100644 --- a/index.js +++ b/index.js @@ -199,6 +199,7 @@ app.use('/cache/images', express.static(path.join(process.env.DATABASE, 'cache/i app.use('/favicon.svg', express.static( path.join(__dirname, 'resources/favicon.svg') ) ); +app.use('/custom.css', express.static(path.join(process.env.DATABASE, 'custom.css'))) // API Routers app.use(api.router(db, channelDB, fillerDB, xmltvInterval, guideService, m3uService, eventService )) @@ -243,6 +244,10 @@ function initDB(db, channelDB) { let data = fs.readFileSync(path.resolve(path.join(__dirname, 'resources/loading-screen.png'))) fs.writeFileSync(process.env.DATABASE + '/images/loading-screen.png', data) } + if (!fs.existsSync( path.join(process.env.DATABASE, 'custom.css') )) { + let data = fs.readFileSync(path.resolve(path.join(__dirname, 'resources', 'default-custom.css'))) + fs.writeFileSync( path.join(process.env.DATABASE, 'custom.css'), data) + } } diff --git a/resources/default-custom.css b/resources/default-custom.css new file mode 100644 index 0000000..2293389 --- /dev/null +++ b/resources/default-custom.css @@ -0,0 +1,14 @@ +/** For example : */ + + + +:root { + --guide-text : #F0F0f0; + --guide-header-even: #423cd4ff; + --guide-header-odd: #262198ff; + --guide-color-a: #212121; + --guide-color-b: #515151; + --guide-color-c: #313131; + --guide-color-d: #414141; +} + diff --git a/web/public/index.html b/web/public/index.html index b39f56d..0e1d92e 100644 --- a/web/public/index.html +++ b/web/public/index.html @@ -7,6 +7,7 @@ + diff --git a/web/public/style.css b/web/public/style.css index 92643a7..8055fb6 100644 --- a/web/public/style.css +++ b/web/public/style.css @@ -1,3 +1,14 @@ +:root { + --guide-text : #F0F0f0; + --guide-header-even: #423cd4ff; + --guide-header-odd: #262198ff; + --guide-color-a: #212121; + --guide-color-b: #515151; + --guide-color-c: #313131; + --guide-color-d: #414141; +} + + .pull-right { float: right; } .modal-semi-body { @@ -5,14 +16,6 @@ flex: 1 1 auto; } -.commercials-panel { - background-color: rgb(70, 70, 70); - border-top: 1px solid #daa104; - border-left-color: #daa104; - border-right-color: #daa104; - color: white -} - .plex-panel { margin: 0; padding: 0; @@ -27,25 +30,15 @@ padding-right: 0.2em } -.list-group-item-video { - background-color: rgb(70, 70, 70); - border-top: 1px solid #daa104; - border-left-color: #daa104; - border-right-color: #daa104; - color: white -} -.list-group-item-video .fa-plus-circle { + +.fa-plus-circle { color: #daa104; } -.list-group-item-video:hover .fa-plus-circle { +.fa-plus-circle { color: #000; } -.list-group-item-video:hover { - background-color: #daa104; - color: #000 !important; -} .list-group.list-group-root .list-group-item { border-radius: 0; border-width: 1px 0 0 0; @@ -157,8 +150,7 @@ table.tvguide { position: sticky; top: 0; bottom: 0; - background: white; - border-bottom: 1px solid black; + /*border-bottom: 1px solid black;*/ } .tvguide th.guidenav { @@ -168,7 +160,7 @@ table.tvguide { .tvguide td, .tvguide th { - color: #F0F0f0; + color: var(--guide-text); border-top: 0; height: 3.5em; padding-top: 0; @@ -208,27 +200,27 @@ table.tvguide { .tvguide th.even { - background: #423cd4ff; + background: var(--guide-header-even); } .tvguide th.odd { - background: #262198ff; + background: var(--guide-header-odd); } .tvguide tr.odd td.even { - background: #212121; + background: var(--guide-color-a); } .tvguide tr.odd td.odd { - background: #515151;; + background: var(--guide-color-b); } .tvguide tr.even td.odd { - background: #313131 + background: var(--guide-color-c); } .tvguide tr.even td.even { - background: #414141; + background: var(--guide-color-d) ; } .tvguide td .play-channel { From 7a8031adc56027be820aab17535881516b02bb6c Mon Sep 17 00:00:00 2001 From: vexorian Date: Sun, 21 Mar 2021 18:43:40 -0400 Subject: [PATCH 4/9] Only guide is wide --- web/public/views/channels.html | 2 +- web/public/views/filler.html | 2 +- web/public/views/guide.html | 2 +- web/public/views/settings.html | 2 +- web/public/views/version.html | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/public/views/channels.html b/web/public/views/channels.html index dddb0ac..e566eb0 100644 --- a/web/public/views/channels.html +++ b/web/public/views/channels.html @@ -1,4 +1,4 @@ -
+
diff --git a/web/public/views/filler.html b/web/public/views/filler.html index 38947b2..f4546ef 100644 --- a/web/public/views/filler.html +++ b/web/public/views/filler.html @@ -1,4 +1,4 @@ -
+
diff --git a/web/public/views/guide.html b/web/public/views/guide.html index 9e8bf95..7621b7c 100644 --- a/web/public/views/guide.html +++ b/web/public/views/guide.html @@ -1,4 +1,4 @@ -
+
{{title}} diff --git a/web/public/views/settings.html b/web/public/views/settings.html index 5ef4ff3..e7bcd65 100644 --- a/web/public/views/settings.html +++ b/web/public/views/settings.html @@ -1,4 +1,4 @@ -
+
- Guide - Channels - Filler - Settings - Version + Guide - Channels - Library - Settings - Version XMLTV diff --git a/web/public/style.css b/web/public/style.css index 8055fb6..0ad24b1 100644 --- a/web/public/style.css +++ b/web/public/style.css @@ -246,17 +246,21 @@ table.tvguide { text-align: right; } -.filler-list .list-group-item, .program-row { +.filler-list .list-group-item, .program-row, .show-list .list-group-item, .program-row { min-height: 1.5em; } -.filler-list .list-group-item .title, .program-row .title { +.filler-list .list-group-item .title, .program-row .title, .show-list .list-group-item .title, .program-row .title { margin-right: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } +.show-row .program-start { + width: 2em; +} + div.channel-tools { max-height: 20em; overflow-y: scroll; @@ -307,7 +311,7 @@ div.programming-programs div.list-group-item { } -.program-row:nth-child(odd), .filler-row:nth-child(odd), .channel-row:nth-child(odd) { +.program-row:nth-child(odd), .show-row:nth-child(odd), .filler-row:nth-child(odd), .channel-row:nth-child(odd) { background-color: #eeeeee; } diff --git a/web/public/templates/channel-config.html b/web/public/templates/channel-config.html index dd7f5d0..3c8b57a 100644 --- a/web/public/templates/channel-config.html +++ b/web/public/templates/channel-config.html @@ -181,7 +181,7 @@
- {{ x.type === 'episode' ? x.showTitle + ' - S' + x.season.toString().padStart(2, '0') + 'E' + x.episode.toString().padStart(2, '0') : x.title}} + {{ getProgramDisplayTitle(x) }}
Flex @@ -856,7 +856,7 @@ - + diff --git a/web/public/templates/plex-library.html b/web/public/templates/plex-library.html index ee23347..01ed94f 100644 --- a/web/public/templates/plex-library.html +++ b/web/public/templates/plex-library.html @@ -3,7 +3,7 @@
- Guide - Channels - Library - Settings - Version + Guide - Channels - Library - Player - Settings - Version XMLTV diff --git a/web/public/views/player.html b/web/public/views/player.html new file mode 100644 index 0000000..d6bce09 --- /dev/null +++ b/web/public/views/player.html @@ -0,0 +1,85 @@ +
+ +
Player
+

Play your channels in a local media player. This is mostly meant for testing purposes and to show what endpoints are available.

+ + +
+ + +
+
+
+
+ + + +
+
+ +
+ + +
+ + + + The /video endpoint is the one used by IPTV player or Plex to play the channel's content. It creates a single mpegts stream for the channel out of all of the videos scheduled for it. For this reason, it needs the videos to be formatted to the same codec and resolution (normalized). Use this endpoint to debug issues with Plex/IPTV players or when the other endpoints don't work correctly in your player. + + + The /m3u8 endpoint (misnomer) sends the channel as a playlist of videos, which allows some players to play the channel in sequence without the need for a single stream. Since there is no need for a single stream, it requires less normalization work . + + + The /radio endpoint plays only the audio of the channel, effectively turning it into a radio station. If you only need the audio, this endpoint is much more efficient as it will not need to extract or transcode video at all. + + + +
+
+ +
+ + +
+ + +
+
+ + +
+ +
+ + +
\ No newline at end of file From 21371febd2aecc6e9a7e3e6916c7d1bba16873a5 Mon Sep 17 00:00:00 2001 From: vexorian Date: Tue, 23 Mar 2021 19:46:38 -0400 Subject: [PATCH 8/9] Custom select control in plex library, looks nicer --- web/public/templates/plex-library.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/public/templates/plex-library.html b/web/public/templates/plex-library.html index 01ed94f..7a08241 100644 --- a/web/public/templates/plex-library.html +++ b/web/public/templates/plex-library.html @@ -28,7 +28,7 @@