sanni schriebMit welchen Programmen kann ich mir eine Senderliste erstellen lassen?
Ich habe das damals mit
dvb-scanaid gemacht. Den ganzen Gentoo-bezogenen Teil kannst du ignorieren, letztendlich ist das ein simples Bash-Script, dass die Frequenzliste erstellt, und daraus die Kanalliste generiert. Beim überfliegen des Textres kann man den Downloadlink schon mal übersehen, daher:
dvbt-scanaid-0.03.tar.bz2.
Einfach herunterladen, entpacken, und
./Create_Scanning_Table ausführen, die beiden Fragen mit
y beantworten, und kurz warten, während die Frequenzliste generiert wird.
Wenn das durch ist, einfach
./scan Scanlist.txt > channels.conf eingeben, das dauert tatsächlich relativ lange (15-20 Minuten, weil der wirklich ALLE Frequenzen scannt – aber so bekommst du wirklich alles mit, was verfügbar ist), und produziert mitunter mehr Fehlermeldungen als es gefundene Sender anzeigt, das ist aber richtig so.
Am Ende hast du dann eine channels.conf, die du entweder MPlayer, oder mpv geben kannst, und dann einfach mittels
mpv -cache 1024 dvb://Sender einen Sender starten kannst. Eventuell willst du noch etwas am Caching rumspielen und dir einen Alias oder eine Funktion für den Start bauen 🙂
Hier ein uraltes Python-Programm, das ich vor Jahren mal erstellt habe, und das ein Pipemenü für Openbox erstellt.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# vim: ts=4:sw=4
# Your channels.conf file must be in the following style:
# # A Comment
# station one:626246800:INVERSION_AUTO:station definition etc:blah
# station two:626764300:INVERSION_AUTO:station definition etc:blah
# another station:432800000:INVERSION_AUTO:station definition etc:blah
# #Comment
# more stations:625678000:INVERSION_AUTO:station definition etc:blah
# next one:623003400:INVERSION_AUTO:station definition etc:blah
# Here we go
import re
import os
import configparser
c = configparser.RawConfigParser()
c.read(os.path.join(os.path.expanduser("~"), '.config/obtv/config.cfg'))
try:
cmd = c.get('general', 'cmd')
headings = c.getboolean('general', 'headings')
chanfile = c.get('general', 'chanfile')
except configparser.NoOptionError:
import sys
error = ('Neither cmd, headings or chanfile or the “general” section '+
'is missing')
print(('<item label="%s"><action name="Execute">'+
'<command>false</command></action></item>') % error)
sys.exit(1)
def getchannels():
chanlist = []
with open(chanfile, 'r') as f:
for line in f:
try:
name = re.search('^#?[\wäöüÄÖÜ\. ]*', line)
chanlist.append(name.group(0))
except:
pass
return chanlist
def getlogo(item):
try:
if c.getboolean('logos', 'use') == True:
path = c.get('logos', 'path')
logo = '%s/%s.png' % (path,item)
return ' icon="%s"' % logo
else:
return ''
except:
return ''
def main():
print('<openbox_pipe_menu>')
for item in getchannels():
if re.search('^# ?', item) and headings == True:
label = re.search('(# ?)([\wäöüÄÖÜ\. ]*)$', item)
print(('<separator label="%s" />' % label.group(2)))
elif re.search('^# ?', item) and headings == False:
pass
else:
logo = getlogo(item)
start = cmd % item
print(('<item label="'+item+'"'+logo+'><action name="Execute">'+
'<command>'+start+'</command></action></item>'))
print('</openbox_pipe_menu>')
if __name__ == '__main__':
main()
Das generiert aus
dieser (bei dir vermutlich nicht brauchbaren) channels.conf
dieses Menü. EInhe Konfigurationsdatei
~/.config/obtv/config.cfg wird erwartet.
[general]
chanfile = /home/dirk/.mplayer/channels.conf
headings = True
cmd = /home/dirk/.scripts/dvbtmpvstart "%s"
[logos]
use = True
path = /home/dirk/.config/obtv/logos
Beim
cmd ist
%s der Sendername, und zwar NUR dieser. Wenn du Logos verwenden willst, musst du dir die selbst zusammensuchen (Urheberrecht …), und wenn du
use = true setzt, und den
path entsprechend angibst, sieht das aus, wie auf meinem Screenshot 🙂