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

 ( PcZolee | 2017. április 21., péntek - 17: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.

Ja, igen, ez valószínűleg így van, minden esetre sajnálom, hogy senki nem lát benne fantáziát...

<= Powered By Ubuntu & Gentoo Linux =>

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