Programozási segítség kérés

 ( PcZolee | 2017. április 21., péntek - 18:19 )

Sziasztok.

Előrebocsájtom, hogy nem vagyok programozó, és pont ezért írok. Lehet, hogy triviális a dolog, és aki ért hozzá annak pár perc az egész... Szóval, egy ilyen ember segítségét szeretném kérni.

Van egy dlna szerver (tudom van több is :D ), a minidlna nevű, ezt módosították úgy, hogy a tvheadend stream-jét dlna-n továbbítani tudja. A projekt itt található:
https://github.com/timehlers/minidlna

Ez mind szép és jó, működik is tökéletesen. A gondom annyi vele, hogy a csatornák össze vissza jelennek meg. Ez azért van, mert a get-channels.sh a linkekből fájlokat csinál (ez csinálja meg a minidlna-nak a listát), amik úgy néznek ki, hogy channelid.url (egyébként a fájl tartalma maga a csatorna neve -és semmi más-, a lejátszó ezt mutatja a listában). A channelid, pedig egy számsor (alól tettem be példákat), és mivel ez a fájlnév, ezért ez alapján rakja sorba a tv, vagy bármilyen dlna lejátszó. Ez így nem a legjobb. Először arra gondoltam, hogy jó lenne, ha lehetne egy prefix a file előtt, pl 0001_channelid.url (a 0001, 0002 stb-t meg a get-channel.sh -nak szépen meg lehet mondani, mert mikor letölti a tvheadend csatlistáját, ott sorban vannak a csatornák), mert így a sorrend megmaradna a sorrend. Ez így már szuper lenne (és csak annyit kellene megmondani a tvheadend-nek, hogy az url előtt a prefizet ne vegye figyelembe).

A legjobb viszont az lenne, ha fordítanánk a dolgon és a fájlnév lenne a csatorna száma + a csatorna neve, és maga a fájl tartalmazná az url-t (én nem csak a channelid-t, mint most), így univerzálissá tennénk a dolgot, és gyakorlatilag bármilyen stream-et így szét tudna szórni dlna-n.

Amit módosítani kellene az az upnpsoap.c-ben van (szerintem).

A channel amit letölt a tvheaend-től így néz ki:

#EXTM3U
#EXTINF:-1,m1
http://192.168.1.11:9981/stream/channelid/208258153?ticket=CA6419B7280BB66905A0941CFF9B9F560E03C080&profile=pass
#EXTINF:-1,m2 / Petofi
http://192.168.1.11:9981/stream/channelid/99578265?ticket=294FA18629395A5835359F8C1759744B3A3B4B02&profile=pass

És jön a többi csatorna.

Ami lesz belőlük az két fájl:

208258153.url a tartalma annyi, hogy m1
99578265.url a tartalma annyi, hogy m2 / Petofi

Szerintem nagyon jó lenne egy ilyen módosítás/fejlesztés. Kérem aki tud segítsen benne.

Köszönöm

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Nem ismerem a fenti programokat.
"és csak annyit kellene megmondani a tvheadend-nek, hogy az url előtt a prefizet ne vegye figyelembe"
Ha ezt a problémát meg lehet oldani beállításokkal akkor a get-channels.sh -ba semmiség egy előtagot tenni.

get-channels.sh:

#!/bin/bash

if [ "$1" = "" ]; then
 echo "Usage $0 IP"
 exit 1
fi

channels=`wget "http://${1}:8080/playlist/channels" -O - 2>/dev/null | tr -d "\n" | sed "s%http://${1}:8080/stream/channelid/%;%g" | sed "s/#EXTINF:-1,/\n/g"`

if [ "$channels" != "" ]; then

 IFS=";"
 echo "$channels" | (while read name uuid; do
  counter=0
  if [ "${uuid%\?*}" != "" ]; then
   counter=$((counter+1))
   if [ ! -f "/var/lib/minidlna-tvheadend/services/Live TV/${uuid%\?*}.url" ]; then
    echo "$name" > "/var/lib/minidlna-tvheadend/services/Live TV/${counter}_${uuid%\?*}.url"
   else
    echo "/var/lib/minidlna-tvheadend/services/Live TV/${counter}_${uuid%\?*}.url already exists"
   fi
  fi

 done)

fi

Koszonom a segito szandekod! Sajnos a problema nem ez. Magat a minidlna-t kellene ugy modositani hogy megfeleloen mukodjon...

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Én se ismerem a programot, de a changelogba van egy ilyen:
- Add a new force_sort_criteria option
Nem lehet rendezni a config file-ba?

pch
--
http://www.buster.hu "A" számlázó
--

Nem, az nem az ilyen tartalmakra vonatkozik. Ahogy írtam, ez egy olyan feature, amit az eredeti nem tud, ezért forkolták. Sajna más megoldás nincs, mint a forrást megfelelően módosítani. Természetesen a fejlesztőnek is írtam ezzel kapcsolatban, de úgy látom, hogy maga a projekt már nem él. Ez nem is lenne baj, mert teszi a dolgát, csak ez a része nem lett eléggé átgondolva...

A progi maga annyit csinál, hogy a pc-n (vagy bármilyen más eszközön, amim futtatja az ember) levő média fájlokat kiajánlja dlna protokolon. Így minden ezt a protokolt értő eszköz le tudja játszani őket. A nagy gól ebben a verzióban, hogy nem csak statikus fájlokat, hanem stream-eket is ki tud ajánlani (ezt egyébként tudja a mediatomb, vagy gerbera -az új forkja-, de ott a streamek hozzáadása nem egyszerű, vagy egyesével megy, vagy vmi js-es trükk kell hozzá).

Ahogy írtam, ebben segíteni programozó tudna, de úgy látom a nyílt forráskód, vagy az ezirányú fejlesztés nem valami népszerű errefelé :(

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Nem a nyílt forráskódú fejlesztések nem népszerűek, hanem valószínűleg a minidlna, vagy egész pontosan ami neked kell. A nyílt forráskód nem garantálja, hogy lesz is aki megcsinálja, csak azt adja lehetőségként, hogy lehet hozzányúlni.