16.9.2019, 17:42
@otava5 Tady to máš. Do data=/storage/.kodi/media/playlist/orange/ si ulož cestu ke tvému adresáři.
Místo řádky json=$(cat ${data}channels.json) si musíš vložit načtení tohoto seznamu kanálů ze serveru. Já jsem si ten seznam nakopíroval do souboru a načetl ho z něj.
Jinak si stále myslím, že načítáš špatný seznam. Většinou jsou takové seznamy tři, jeden jsou LiveTV kanály, druhý archiv (to je ten co máš ty) a třetí epg. Kdybys načetl ten seznam LiveTv budeš tam mít určitě skutečné názvy kanálů. Ale pokud ti to takto vyhovuje, je to na tobě.
Kód:
#! /bin/sh
data=/storage/.kodi/media/playlist/orange/
playlist=${data}playlist.general.m3u8
streamer=${data}streamer.sh
PREFIX=#EXTM3U
PREFIX1ST=#EXTINF:-1,
PREFIX2ND=pipe://${streamer}
json=$(cat ${data}channels.json)
if [ $? != 0 ] ; then printf "ERROR: Bad channels list reading\n" ; exit 1 ; fi
channels=$(echo ${json} | jq 'keys')
i=0
max=$(echo ${channels} | jq '.|length')
printf "$PREFIX\n" > ${playlist}
while [ $i -lt $max ] ; do
channel=$(echo ${channels} | jq ".[$i]" | tr -d '"')
name=${channel}
printf "$PREFIX1ST%s\n" "${name}" >> ${playlist}
printf "$PREFIX2ND %s\n" "${name}" >> ${playlist}
i=$((i+1))
printf "Generated: %s channels.\r" $i
done
printf "\nPlaylist done\n"
printf "Playlist saved to %s\n" "${playlist}"
exit
Místo řádky json=$(cat ${data}channels.json) si musíš vložit načtení tohoto seznamu kanálů ze serveru. Já jsem si ten seznam nakopíroval do souboru a načetl ho z něj.
Jinak si stále myslím, že načítáš špatný seznam. Většinou jsou takové seznamy tři, jeden jsou LiveTV kanály, druhý archiv (to je ten co máš ty) a třetí epg. Kdybys načetl ten seznam LiveTv budeš tam mít určitě skutečné názvy kanálů. Ale pokud ti to takto vyhovuje, je to na tobě.