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 VLC playlist parser for MédiaKlikk videos and video streams
## Installation ## Installation
@ -22,9 +22,10 @@ Copy [mediaklikk-video.lua](mediaklikk-video.lua) to [VLC Lua playlist scripts](
* [mediaklikk.hu](https://www.mediaklikk.hu/) * [mediaklikk.hu](https://www.mediaklikk.hu/)
### Video streams ### Video streams
* [M1](https://www.mediaklikk.hu/m1-elo) * [M1](https://hirado.hu/elo/m1)
* [M2](https://www.mediaklikk.hu/m2-elo) * [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) * [M5](https://www.mediaklikk.hu/m5-elo)
* [Duna](https://www.mediaklikk.hu/duna-elo) * [Duna](https://www.mediaklikk.hu/duna-elo)
* [Duna World](https://www.mediaklikk.hu/duna-world-elo) * [Duna World](https://www.mediaklikk.hu/duna-world-elo)

View File

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