Compare commits

..

4 Commits

Author SHA1 Message Date
Tibor Baksa 34e39eb3c1 Update video streams 2023-11-18 00:57:32 +01:00
Tibor Baksa bce8b7ca8f Prepend protocol to stream URL when not provided 2023-11-18 00:50:09 +01:00
Tibor Baksa 62565c10f2 Check if parsing the player page before finding the player options 2023-11-18 00:45:21 +01:00
Tibor Baksa f340ef11af Update title in README 2023-11-18 00:45:10 +01:00
2 changed files with 16 additions and 8 deletions

View File

@ -1,4 +1,4 @@
# vlc-mediaklikk
# vlc-mediaklikk-video
VLC playlist parser for MédiaKlikk videos and video streams
## Installation
@ -22,9 +22,10 @@ Copy [mediaklikk-video.lua](mediaklikk-video.lua) to [VLC Lua playlist scripts](
* [mediaklikk.hu](https://www.mediaklikk.hu/)
### Video streams
* [M1](https://www.mediaklikk.hu/m1-elo)
* [M1](https://hirado.hu/elo/m1)
* [M2](https://www.mediaklikk.hu/m2-elo)
* [M4](https://www.mediaklikk.hu/m4-elo)
* [M4 Sport](https://m4sport.hu/elo/mtv4live)
* [M4 Sport +](https://m4sport.hu/elo/mtv4plus)
* [M5](https://www.mediaklikk.hu/m5-elo)
* [Duna](https://www.mediaklikk.hu/duna-elo)
* [Duna World](https://www.mediaklikk.hu/duna-world-elo)

View File

@ -19,9 +19,16 @@ end
function parse()
local pageSource = streams.readAll(vlc)
local playerOptionsJson = pageSource:match('pl.setup%( (%b{}) %);')
if playerOptionsJson then
log.dbg('Found player options json, finding playlist items of type hls')
if vlc.path:match('player%.mediaklikk%.hu') then
log.dbg('Player loaded, finding player options json')
local playerOptionsJson = pageSource:match('pl.setup%( (%b{}) %);')
if not playerOptionsJson then
log.warn('Cannot find player options json')
return nil
end
log.dbg('Finding playlist items of type hls')
local playerOptions = dkjson.decode(playerOptionsJson)
local playlistItems = tables.filter(playerOptions.playlist, function(playlistItem)
@ -36,14 +43,14 @@ function parse()
return tables.map(playlistItems, function(playlistItem)
return {
path = vlc.access .. ':' .. playlistItem.file,
path = playlistItem.file:gsub('^//', vlc.access .. '://'),
title = params.title,
arturl = params.bgimage
}
end)
end
log.dbg('Cannot find player options json, finding embedded players');
log.dbg('Finding embedded players');
local playerSetupJsons = tables.toArray(pageSource:gmatch('mtva_player_manager%.player%(document%.getElementById%("player_%d+_%d+"%), (%b{})%);'));