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)
if vlc.path:match('player%.mediaklikk%.hu') then
log.dbg('Player loaded, finding player options json')
local playerOptionsJson = pageSource:match('pl.setup%( (%b{}) %);')
if playerOptionsJson then
log.dbg('Found player options json, finding playlist items of type hls')
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{})%);'));