Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: VDR Portal. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Donnerstag, 17. Januar 2008, 00:18

sed Frage channels.conf Mich verblüfft ja...

immer wieder mit welcher Leichtigkeit der ein oder andere
recht komplexe sed-Befehle o.ä. aus dem Ärmel schüttelt.

Hat jemand eine Lösung für folgendes Anliegen?
Ich möchte in meine channels.conf bei der caid überall eine "5:" davorstellen,
damit ich die Sender mit Streamdev so nutzen kann :)
Leider sind das ganz schön viele Sender, ich überlebe mir was mit AutoIt zu basteln, aber das lässt sich sicher auch andersweitig auf der LinuxKonsole lösen.
Zeilen die mit Doppelpunkt anfangen überspringen.
Andere Zeilen -> Man könnte die : als Trenner nehmen, dann prüfen ob da schon eine 5 drinsteht falls nicht setzten.
Vermutlich am simpelsten mit sed aber keine Ahnung wie ich das Prüfen ob schon ne 5 drinsteht mit reinbekomme.
Software: gen2vdr V3 ( Beta8 ) / gen2vdr V2
Hardware: Intel 5200EE - 5N7A-VM - Scythe Shuriken - BeQuiet(Netzteil) - X10-USB Remote
SMT 7020S & P3@900 - Testsystem mit FF und X10-USB Remote
Links für Neueinsteiger

"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

2

Donnerstag, 17. Januar 2008, 09:14

RE: sed Frage channels.conf Mich verblüfft ja...

Ich hoffe, Du nimmst auch eine Lösung mit awk ;):

Quellcode

1
awk 'BEGIN {FS=OFS=":"} $9 !~ /^($|5(,|$))/ {if ($9 == "0") $9 = "5"; else $9 = "5," $9} {print}'

Alternativ den localchannelprovide-Patch aus den streamdev-Sourcen auf VDR anwenden.

sphere

Fortgeschrittener

Beiträge: 249

Wohnort: Krefeld

Beruf: Fachinformatiker

  • Nachricht senden

3

Donnerstag, 17. Januar 2008, 09:38

Hi,

auch wenn Schmirl schneller war, ich hab ne sed Lösung :P

Quellcode

1
 sed 's/^\(.*:.*:.*:.*:.*:.*:.*:.*:\).*\(:.*:.*:.*:.*$\)/\15\2/' channels.conf > channels.neu


Macht aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
:Öffentlich-Rechtliche
Das Erste;ARD:11836:HC34:S19.2E:27500:101:102=deu,103=2ch;106=dd:104:0:28106:1:1101:0
ZDF;ZDFvision:11954:HC34:S19.2E:27500:110:120=deu,121=2ch;125=dd:130:0:28006:1:1079:0
WDR Düsseldorf;ARD:12422:HC34:S19.2E:27500:101:102=deu:104:0:28308:1:1201:0
:Private
RTL Television,RTL;RTL World:12188:HC34:S19.2E:27500:163:104=deu;106=deu:105:0:12003:1:1089:0
SAT.1;ProSiebenSat.1:12544:HC56:S19.2E:22000:255:256=deu;259=deu:32:0:17500:1:1107:0
kabel eins;ProSiebenSat.1:12544:HC56:S19.2E:22000:767:768=deu:34:0:17502:1:1107:0
ProSieben;ProSiebenSat.1:12544:HC56:S19.2E:22000:511:512=deu;515=deu:33:0:17501:1:1107:0
RTL2;RTL World:12188:HC34:S19.2E:27500:166:128=deu:68:0:12020:1:1089:0
VOX;RTL World:12188:HC34:S19.2E:27500:167:136=deu:71:0:12060:1:1089:0
N24;ProSiebenSat.1:12544:HC56:S19.2E:22000:1023:1024=deu:35:0:17503:1:1107:0
DAS VIERTE,D VIERTE;BetaDigital:12460:HC34:S19.2E:27500:2047:2048=deu:36:0:1793:133:5:0
TELE 5;BetaDigital:12480:VC34:S19.2E:27500:1535:1536=deu:38:0:51:133:33:0
Super RTL,S RTL;RTL World:12188:HC34:S19.2E:27500:165:120=deu:65:0:12040:1:1089:0
:Österreich
ORF1;ORF:12692:HC56:S19.2E:22000:160:161=deu;163=deu:165:D05,1801,1702,1762:13001:1:1117:0
ATV+:12692:HC56:S19.2E:22000:506:507=deu:509:1762,D05,1801,1702:13012:1:1117:16387
:Premiere Film
PREMIERE 1,PREM 1;PREMIERE:11798:HC34:S19.2E:27500:511:512=deu,513=deu;515=deu:32:1831,1722,1702,1830,1801:10:133:2:0
PREMIERE 2,PREM 2;PREMIERE:11798:HC34:S19.2E:27500:1791:1792=deu,1793=deu;1795=deu:32:1722,1831,1830,1702,1801:11:133:2:0
PREMIERE 3,PREM 3;PREMIERE:11798:HC34:S19.2E:27500:2303:2304=deu,2305=deu;2307=deu:32:1830,1702,1831,1801,1722:43:133:2:0
PREMIERE 4,PREM 4;PREMIERE:11798:HC34:S19.2E:27500:767:768=deu,769=deu;771=deu:32:1831,1830,1801,1722,1702:9:133:2:0
Das hier:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
:Öffentlich-Rechtliche
Das Erste;ARD:11836:HC34:S19.2E:27500:101:102=deu,103=2ch;106=dd:104:5:28106:1:1101:0
ZDF;ZDFvision:11954:HC34:S19.2E:27500:110:120=deu,121=2ch;125=dd:130:5:28006:1:1079:0
WDR Düsseldorf;ARD:12422:HC34:S19.2E:27500:101:102=deu:104:5:28308:1:1201:0
:Private
RTL Television,RTL;RTL World:12188:HC34:S19.2E:27500:163:104=deu;106=deu:105:5:12003:1:1089:0
SAT.1;ProSiebenSat.1:12544:HC56:S19.2E:22000:255:256=deu;259=deu:32:5:17500:1:1107:0
kabel eins;ProSiebenSat.1:12544:HC56:S19.2E:22000:767:768=deu:34:5:17502:1:1107:0
ProSieben;ProSiebenSat.1:12544:HC56:S19.2E:22000:511:512=deu;515=deu:33:5:17501:1:1107:0
RTL2;RTL World:12188:HC34:S19.2E:27500:166:128=deu:68:5:12020:1:1089:0
VOX;RTL World:12188:HC34:S19.2E:27500:167:136=deu:71:5:12060:1:1089:0
N24;ProSiebenSat.1:12544:HC56:S19.2E:22000:1023:1024=deu:35:5:17503:1:1107:0
DAS VIERTE,D VIERTE;BetaDigital:12460:HC34:S19.2E:27500:2047:2048=deu:36:5:1793:133:5:0
TELE 5;BetaDigital:12480:VC34:S19.2E:27500:1535:1536=deu:38:5:51:133:33:0
Super RTL,S RTL;RTL World:12188:HC34:S19.2E:27500:165:120=deu:65:5:12040:1:1089:0
:Österreich
ORF1;ORF:12692:HC56:S19.2E:22000:160:161=deu;163=deu:165:5:13001:1:1117:0
ATV+:12692:HC56:S19.2E:22000:506:507=deu:509:5:13012:1:1117:16387
:Premiere Film
PREMIERE 1,PREM 1;PREMIERE:11798:HC34:S19.2E:27500:511:512=deu,513=deu;515=deu:32:5:10:133:2:0
PREMIERE 2,PREM 2;PREMIERE:11798:HC34:S19.2E:27500:1791:1792=deu,1793=deu;1795=deu:32:5:11:133:2:0
PREMIERE 3,PREM 3;PREMIERE:11798:HC34:S19.2E:27500:2303:2304=deu,2305=deu;2307=deu:32:5:43:133:2:0
PREMIERE 4,PREM 4;PREMIERE:11798:HC34:S19.2E:27500:767:768=deu,769=deu;771=deu:32:5:9:133:2:0



Also an jede 9. von Doppelpunkten umgebene Stelle eine 5.
Wenn du es weiter angepasst haben willst oder so kannste dich ja noch mal melden :)

Grüße
sphere
silence: Ubuntu 9.10 | Asus M3N78-VM | AMD 4450e | TT-budget S2-1600 DVB-S2 | 5 X 1TB Raid5 | vdr (1.7.10) | xbmc opdenkamp master | Optoma HD65 Beamer | Samsung LE37B530 LCD | Onkyo 605 AVR | Heco Victa 700/300/100/25A

4

Donnerstag, 17. Januar 2008, 19:05

Quellcode

1
awk 'BEGIN {FS=OFS=":"} $9 !~ /^($|5(,|$))/ {if ($9 == "0") $9 = "5"; else $9 = "5," $9} {print}'


FS ... setzt den Trenner dann die neunte Spalte die nicht mit "5" anfängt.
Dann prüfe ob "0" falls ja tausche falls nein füge hinzu.
Ich ahne verstehe was es macht, verstehe dies aber nicht 100%
Was passiert da genau?

Quellcode

1
sed 's/^\(.*:.*:.*:.*:.*:.*:.*:.*:\).*\(:.*:.*:.*:.*$\)/\15\2/' channels.conf > channels.neu


Suche ^\(.*:.*:.*:.*:.*:.*:.*:.*:\).* alles was mit einem Zeichen beginnt und weitere hat ".?"
Erstzen mit (:.*:.*:.*:.*$\)/\15\2/ "Nun zählt er von hinten $?"
"\15\2/" was macht das, irgendwie vermisse ich noch ein /g am Ende?

Besten Dank beiden Kandidaten, da ich sed immer nur für "recht einfache" Suchen& Ersetzen Aktionen gebraucht habe.
Awk noch weniger benutze nicht hauen, bin ich erstaunt das ich syntaktisch vom dem SED Script weniger verstehe was da passiert :versteck

Mir ist da jeder Weg recht, es sollte kein Glaubenskrieg werden welches Tool am Besten geht :lol2

Aber als ich mir ein paar Beispiele "erweiteterModus" angesehen/ausprobiert habe musste ich manchmal auch schon schlucken.
SED & AWK sind noch mal ne ganz eigene Welt (für mich).
Es wäre schön wenn jemand noch mit ein/zwei Sätzen die mir unklaren Punkte erklären kann .

Gruß N!ce
Software: gen2vdr V3 ( Beta8 ) / gen2vdr V2
Hardware: Intel 5200EE - 5N7A-VM - Scythe Shuriken - BeQuiet(Netzteil) - X10-USB Remote
SMT 7020S & P3@900 - Testsystem mit FF und X10-USB Remote
Links für Neueinsteiger

"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Mr.N!ce« (17. Januar 2008, 19:07)


5

Donnerstag, 17. Januar 2008, 23:04

Zitat

Original von Mr.N!ce

Quellcode

1
sed 's/^\(.*:.*:.*:.*:.*:.*:.*:.*:\).*\(:.*:.*:.*:.*$\)/\15\2/' channels.conf > channels.neu


Suche ^\(.*:.*:.*:.*:.*:.*:.*:.*:\).* alles was mit einem Zeichen beginnt und weitere hat ".?"
Erstzen mit (:.*:.*:.*:.*$\)/\15\2/ "Nun zählt er von hinten $?"
"\15\2/" was macht das, irgendwie vermisse ich noch ein /g am Ende?


Ehrlich gesagt kann ich deine Interpretation von dem sed Script nicht nachvollziehen ;)

Ich hoffe mal, dir sind reguläre Ausdrücke (regexps) nicht vollkommen fremd, darauf baut das sed-Kommando "s" nämlich auf. Ich werde regexps hier nicht komplett erklären, das würde mir heut abend zu lange dauern.

Beim sed gibt es mehrere Kommandos, eins davon ist "s" für Suchen und Ersetzen mit regulären Ausdrücken. Die Syntax ist in etwa wie folgt:

Quellcode

1
s/<Such-Regexp>/<Ersetzung>/<Option(en?)>

Der Schrägstrich ist dabei ein Trennzeichen, welches beliebig gewählt werden kann. Man könnte also auch drei Rauten "#" benutzen oder was auch immer.

Das Suchen und Ersetzen läuft zeilenweise ab und bearbeitet normalerweise nur den ersten Treffer in einer Zeile. Wenn mehrere Treffer pro Zeile bearbeitet werden sollen, kann man als Option "g" am Ende mitgeben. In diesem Fall kann man sich das "g" sparen, weil es höchstens einen Treffer pro Zeile geben wird.

Kommen wir zu dem regulären Ausdruck, der den zu suchenden Text beschreibt:

Quellcode

1
^\(.*:.*:.*:.*:.*:.*:.*:.*:\).*\(:.*:.*:.*:.*$\)

Bei regulären Ausdrücken bedeutet das Zeichen "^" Zeilenanfang und das Dollar-Zeichen "$" Zeilenende. Der Punkt "." steht für exakt ein beliebiges Zeichen. Der Kleene-Stern "*" wirkt sich auf den letzten Teilausdruck aus und hängt diesen beliebig oft hintereinander - null mal bis unendlich oft. Der Doppelpunkt hat keine besondere Bedeutung sondern beschreibt einfach das Zeichen Doppelpunkt im Eingabetext.

Außerdem kann man Teil-Ausdrücke festlegen, mit runden Klammern und vorgestelltem Backslash - also so: "\(<Teilausdruck>\)". Auf den Text, der anhand des Teilausdrucks gefunden wird, kann man dann in der Ersetzung mit \<fortlaufende Nummer> zugreifen.

Also das erste Klammernpaar beschreibt die ersten acht durch Doppelpunkte getrennten Zahlenfelder. Dieser komplette Text inklusive Doppelpunkte wird in der Ersetzung mit "\1" wieder ausgegeben. Nach der ersten schließenden Klammer wird mit ".*" wieder eine beliebig lange Zeichenkette beliebiger Zeichen erwartet - der Inhalt des neunten Feldes. Dieser Inhalt wird verworfen und durch das Zeichen "5" in der Ausgabe ersetzt. Das neunte Feld sollte ja die CAID sein und überall auf 5 gesetzt werden. Danach folgt das zweite Klammernpaar, welches die verbleibenden vier durch Doppelpunkte getrennten Felder beschreibt. Der entsprechende Text wird mit "\2" in die Ausgabe kopiert.

Ich hoffe mal das war halbwegs verständlich für dich.
VDR1: P-II 233MHz, Nova DVB-S budget card, 4x160GB, e1000-NIC / Debian Etch, VDR-1.4.7
VDR2: SMT-7020S / det's Debian ISO v2b

6

Freitag, 18. Januar 2008, 00:32

Zitat

Bei regulären Ausdrücken bedeutet das Zeichen "^" Zeilenanfang und das Dollar-Zeichen "$" Zeilenende. Der Punkt "." steht für exakt ein beliebiges Zeichen. Der Kleene-Stern "*" wirkt sich auf den letzten Teilausdruck aus und hängt diesen beliebig oft hintereinander - null mal bis unendlich oft. Der Doppelpunkt hat keine besondere Bedeutung sondern beschreibt einfach das Zeichen Doppelpunkt im Eingabetext.

Bekannt ;)

Zitat

Also das erste Klammernpaar beschreibt die ersten acht durch Doppelpunkte getrennten Zahlenfelder. Dieser komplette Text inklusive Doppelpunkte wird in der Ersetzung mit "\1" wieder ausgegeben. Nach der ersten schließenden Klammer wird mit ".*" wieder eine beliebig lange Zeichenkette beliebiger Zeichen erwartet - der Inhalt des neunten Feldes. Dieser Inhalt wird verworfen und durch das Zeichen "5" in der Ausgabe ersetzt. Das neunte Feld sollte ja die CAID sein und überall auf 5 gesetzt werden. Danach folgt das zweite Klammernpaar, welches die verbleibenden vier durch Doppelpunkte getrennten Felder beschreibt. Der entsprechende Text wird mit "\2" in die Ausgabe kopiert.

Jetzt wirds klarer .... Danke
Software: gen2vdr V3 ( Beta8 ) / gen2vdr V2
Hardware: Intel 5200EE - 5N7A-VM - Scythe Shuriken - BeQuiet(Netzteil) - X10-USB Remote
SMT 7020S & P3@900 - Testsystem mit FF und X10-USB Remote
Links für Neueinsteiger

"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

7

Freitag, 18. Januar 2008, 08:58

Zitat

Quellcode

1
awk 'BEGIN {FS=OFS=":"} $9 !~ /^($|5(,|$))/ {if ($9 == "0") $9 = "5"; else $9 = "5," $9} {print}'


FS ... setzt den Trenner dann die neunte Spalte die nicht mit "5" anfängt.
Dann prüfe ob "0" falls ja tausche falls nein füge hinzu.
Ich ahne verstehe was es macht, verstehe dies aber nicht 100%
Was passiert da genau?

Das hast Du soweit schon alles richtig verstanden. Der BEGIN-Block wird vor der Verarbeitung der Datei ausgeführt und initialisiert den Trenner für das Einlesen (FS) und die Ausgabe (OFS - Output Field Seperator).

Jetzt wird die Datei zeilenweise eingelesen und am Doppelpunkt getrennt.

Der nächste Block kümmert sich um Feld Nummer 9. Wir suchen die Zeilen bei denen $9
  • leer ist: /^$/ (Zeilen mit Gruppenname)
  • bereits "5" ist: /^5$/
  • oder mit "5," beginnt: /^5,/ (für verschlüsselte Kanäle)

Zusammengefasst in einer regular expression: /^($|5(,|$))/
Wenn diese expression nicht passt (!~) wird "0" mit "5" ersetzt bzw. ein "5," vorangestellt.

Schließlich wird jede Zeile mit print ausgegeben - durch OFS=":" mit Doppelpunkt getrennt.

Hier noch eine alternative sed-Variante:

Quellcode

1
sed -e 's#^\(\([^:]\+:\)\{8\}\)\([^:]\+:\)#\15:#'
  • Suche nach mindestens einem nicht-Doppelpunkt gefolgt von Doppelpunkt: [^: ]\+:
  • Diesen Block 8 mal: \{8\}
  • Danach wieder mindestens ein nicht-Doppelpunkt gefolgt von Doppelpunkt
  • Ersetze es mit der ersten Klammer (also der 8 Felder): \1
  • hänge "5:" an

Wie bei sphere kegelt diese sed Variante alle CA-Infos bei verschlüsselten Kanälen raus (was für den Streamdev-Client in Ordnung sein sollte). War deshalb aber auf awk umgestiegen.

sphere

Fortgeschrittener

Beiträge: 249

Wohnort: Krefeld

Beruf: Fachinformatiker

  • Nachricht senden

8

Freitag, 18. Januar 2008, 08:58

Jepp,

da hat chade (natürlich) alles richtig und super erklärt :)

Ungeklärt bleibt aber, ob die sed Lösung dir reicht bzw. das tut, was du wolltest.
Ich habe immer noch nicht verstanden, warum genau du überall ne 5 bei CAID haben willst...

Ich wollts aber trotzdem auch noch mal in ganz kurz erklären was meine sed Anweisung macht:

Sie sucht in jeder Zeile die ersten 8 Doppelpunkt-Felder, merkt sie sich; sucht noch die 10-13. Felder und merkt sie sich auch.
Dann schnibbelt sie Felder 1-9, die von dir gewünschte 5 und schließlich die Felder 10-13 Zusammen, fertig.

Grüße
sphere
silence: Ubuntu 9.10 | Asus M3N78-VM | AMD 4450e | TT-budget S2-1600 DVB-S2 | 5 X 1TB Raid5 | vdr (1.7.10) | xbmc opdenkamp master | Optoma HD65 Beamer | Samsung LE37B530 LCD | Onkyo 605 AVR | Heco Victa 700/300/100/25A

sphere

Fortgeschrittener

Beiträge: 249

Wohnort: Krefeld

Beruf: Fachinformatiker

  • Nachricht senden

9

Freitag, 18. Januar 2008, 09:03

Mensch meier, schonwieder war Schmirl ein klitzekleinesbisschen schneller als ich, grrr ;) Wir haben wohl nahezu identische Arbeitszeiten...


Ich hatte schon erwartet, dass einer diese "Acht mal nicht Doppelpunkt Doppelpunkt"-Lösung bringt, aber ich selbst hatte in dem Moment den Gedanken schnell verworfen da ich lieber 8 mal .*: ausschreibe :D


Grüße
sphere
silence: Ubuntu 9.10 | Asus M3N78-VM | AMD 4450e | TT-budget S2-1600 DVB-S2 | 5 X 1TB Raid5 | vdr (1.7.10) | xbmc opdenkamp master | Optoma HD65 Beamer | Samsung LE37B530 LCD | Onkyo 605 AVR | Heco Victa 700/300/100/25A

10

Freitag, 18. Januar 2008, 09:15

Zitat

Mensch meier, schonwieder war Schmirl ein klitzekleinesbisschen schneller als ich, grrr ;) Wir haben wohl nahezu identische Arbeitszeiten...
:lol2

Zitat

Ich hatte schon erwartet, dass einer diese "Acht mal nicht Doppelpunkt Doppelpunkt"-Lösung bringt, aber ich selbst hatte in dem Moment den Gedanken schnell verworfen da ich lieber 8 mal .*: ausschreibe :D

Ack. Deutlich hübscher wird's mit extended regular expressions (gehören aber soweit ich weiß nicht zum Standard sed)

Quellcode

1
sed -re 's#^(([^:]+:){8})([^:]+:)#\15:#'

11

Freitag, 18. Januar 2008, 19:01

Ich habe immer noch nicht verstanden, warum genau du überall ne 5 bei CAID haben willst...

Ich nutze einen HauptVDR mit StreamdevServer und eine SMT StreamdevClient.
Habe auf beiden die gleiche channel.conf und kann so umschalten wie lokal am Hauptvdr.

Siehe hier: http://www.vdr-wiki.de/wiki/index.php/St…n#Konfiguration

Auszug:

Zitat

Konfiguration
Da es keine externen Abhängigkeiten gibt, gestaltet sich die Installation recht einfach. Es wird installiert, wie jedes andere Plugin. Eine Besonderheit besteht darin, dass beim Übersetzen gleich zwei Plugins entstehen, der Server und der Client. Gestartet werden sie mittels "-P streamdev-server" bzw. "-P streamdev-client".

Der Zugriff auf den Server wird durch die Konfigurations-Datei streamdevhosts.conf geregelt. Das Streamdev-Plugin bringt eine Beispieldatei mit, die folgendermaßen installiert wird:

cp $SOURCEDIR/VDR/PLUGINS/src/streamdev/streamdevhosts.conf.example $VDRCONFIG/plugins/streamdevhosts.conf
Wichtig: Anschließend muss die Datei editiert und an das eigene Netzwerk angepasst werden. Andernfalls ist kein Streaming möglich!

Danach muss man in der channels.conf des Clients die Programme hinzufügen, die vom Streaming-Server stammen und in Zukunft von dem 'virtuellen' DVB-Device empfangen werden sollen. Im einfachsten Fall genügt es, auf dem Client eine Kopie der channels.conf des Servers zu installieren. Empfangen Client und Server unterschiedliche Kanal-Quellen (z.B. Server: DVB-S, Client: DVB-T), so werden die Einträge aus der channels.conf des Servers einfach in die des Clients eingefügt.

Bei aktuellen Versionen müssen die Kanal-Nummern auf Client und Server nicht übereinstimmen. Es müssen auch nicht alle Kanäle des Server in die channels.conf des Clients aufgenommen werden.

[bearbeiten]Feste Zuordnung Kanal zu Gerät
Im Normalfall findet VDR selbst heraus, ob ein Kanal lokal oder über Streamdev empfangen werden kann. Eine feste Zuordnung ist aber mit Hilfe des CA-Feldes der Datei channels.conf möglich. Mit den Werten 1-4 wird der Kanal fest an die DVB-Karte mit der entsprechenden Nummer gebunden. Die Nummerierung der DVB-Karten untereinander ergibt sich aus der Reihenfolge in der die Treiber geladen wurden. Die Werte ab 5 werden Ein- und Ausgabegeräten zugeteilt, die von Plugins bereitgestellt werden. Hier ist die Reihenfolge in der die Plugins geladen werden entscheidend.
Software: gen2vdr V3 ( Beta8 ) / gen2vdr V2
Hardware: Intel 5200EE - 5N7A-VM - Scythe Shuriken - BeQuiet(Netzteil) - X10-USB Remote
SMT 7020S & P3@900 - Testsystem mit FF und X10-USB Remote
Links für Neueinsteiger

"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

12

Freitag, 18. Januar 2008, 19:01

Ich habe immer noch nicht verstanden, warum genau du überall ne 5 bei CAID haben willst...

Ich nutze einen HauptVDR mit StreamdevServer und eine SMT StreamdevClient.
Habe auf beiden die gleiche channel.conf und kann so umschalten wie lokal am Hauptvdr.

Siehe hier:http://www.vdr-wiki.de/wiki/index.php/St…n#Konfiguration

Auszug:

Zitat

Konfiguration
Da es keine externen Abhängigkeiten gibt, gestaltet sich die Installation recht einfach. Es wird installiert, wie jedes andere Plugin. Eine Besonderheit besteht darin, dass beim Übersetzen gleich zwei Plugins entstehen, der Server und der Client. Gestartet werden sie mittels "-P streamdev-server" bzw. "-P streamdev-client".

Der Zugriff auf den Server wird durch die Konfigurations-Datei streamdevhosts.conf geregelt. Das Streamdev-Plugin bringt eine Beispieldatei mit, die folgendermaßen installiert wird:

cp $SOURCEDIR/VDR/PLUGINS/src/streamdev/streamdevhosts.conf.example $VDRCONFIG/plugins/streamdevhosts.conf
Wichtig: Anschließend muss die Datei editiert und an das eigene Netzwerk angepasst werden. Andernfalls ist kein Streaming möglich!

Danach muss man in der channels.conf des Clients die Programme hinzufügen, die vom Streaming-Server stammen und in Zukunft von dem 'virtuellen' DVB-Device empfangen werden sollen. Im einfachsten Fall genügt es, auf dem Client eine Kopie der channels.conf des Servers zu installieren. Empfangen Client und Server unterschiedliche Kanal-Quellen (z.B. Server: DVB-S, Client: DVB-T), so werden die Einträge aus der channels.conf des Servers einfach in die des Clients eingefügt.

Bei aktuellen Versionen müssen die Kanal-Nummern auf Client und Server nicht übereinstimmen. Es müssen auch nicht alle Kanäle des Server in die channels.conf des Clients aufgenommen werden.

[bearbeiten]Feste Zuordnung Kanal zu Gerät
Im Normalfall findet VDR selbst heraus, ob ein Kanal lokal oder über Streamdev empfangen werden kann. Eine feste Zuordnung ist aber mit Hilfe des CA-Feldes der Datei channels.conf möglich. Mit den Werten 1-4 wird der Kanal fest an die DVB-Karte mit der entsprechenden Nummer gebunden. Die Nummerierung der DVB-Karten untereinander ergibt sich aus der Reihenfolge in der die Treiber geladen wurden. Die Werte ab 5 werden Ein- und Ausgabegeräten zugeteilt, die von Plugins bereitgestellt werden. Hier ist die Reihenfolge in der die Plugins geladen werden entscheidend.
Software: gen2vdr V3 ( Beta8 ) / gen2vdr V2
Hardware: Intel 5200EE - 5N7A-VM - Scythe Shuriken - BeQuiet(Netzteil) - X10-USB Remote
SMT 7020S & P3@900 - Testsystem mit FF und X10-USB Remote
Links für Neueinsteiger

"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Mr.N!ce« (18. Januar 2008, 19:04)


sphere

Fortgeschrittener

Beiträge: 249

Wohnort: Krefeld

Beruf: Fachinformatiker

  • Nachricht senden

13

Samstag, 19. Januar 2008, 00:10

Achso...

Ich hatte nie einen VDR mit zwei DVB Karten, deswegen hatte ich das noch nie gelesen bzw. benutzt. Aber gut zu wissen.

Hat dir eins von den reichlichen Scripten hier denn jetzt geholfen um das Problem so wie du wolltest zu lösen?

Grüße
sphere
silence: Ubuntu 9.10 | Asus M3N78-VM | AMD 4450e | TT-budget S2-1600 DVB-S2 | 5 X 1TB Raid5 | vdr (1.7.10) | xbmc opdenkamp master | Optoma HD65 Beamer | Samsung LE37B530 LCD | Onkyo 605 AVR | Heco Victa 700/300/100/25A

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »sphere« (19. Januar 2008, 10:45)


14

Samstag, 19. Januar 2008, 13:42

Hallo bin fertig mit der Verkabelung, ok das Script hätte ich auch vorher ausführen
(zur Not von überall...wie die meisten hier :) ), aber ich will mich auch gleich mit Funktion belohnen. :lol2

So die sed Variante macht das was Sie soll, entfernt aber wie angedroht alle anderen CA IDs.
Die awk Variante klappt auch dort uberleben aber andere Ids.
Da die SMT auch ohne Streamdev lebensfähig ist werde ich die awk Variante vorziehen.
PS.:Auch ein mehrmaliger Aufruf also zum Nacharbeiten klappt. Ach und funktonieren tuts auch (TV-BILD) :)
Software: gen2vdr V3 ( Beta8 ) / gen2vdr V2
Hardware: Intel 5200EE - 5N7A-VM - Scythe Shuriken - BeQuiet(Netzteil) - X10-USB Remote
SMT 7020S & P3@900 - Testsystem mit FF und X10-USB Remote
Links für Neueinsteiger

"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Mr.N!ce« (19. Januar 2008, 13:43)


15

Donnerstag, 31. Januar 2008, 02:59

Hallo,
das ist genau das was ich suche ..... also ich möchte dass der Inhalt in jeder Zeile zwischen dritten und vierten Doppelpunkt durch zB. S4.8E ersetzt wird. Ist sowas auch möglich?

Danke!

16

Donnerstag, 31. Januar 2008, 09:01

Zitat

das ist genau das was ich suche ..... also ich möchte dass der Inhalt in jeder Zeile zwischen dritten und vierten Doppelpunkt durch zB. S4.8E ersetzt wird. Ist sowas auch möglich?

Klar - hier die zugehörigen sed-Lösungen. Such Dir die schönste aus:

Quellcode

1
2
3
sed -re 's#^(([^:]+:){3})[^:]+:#\1S4.8E:#' channels.conf > channels.neu
sed -e 's#^\(\([^:]\+:\)\{3\}\)[^:]\+:#\1S4.8E:#' channels.conf > channels.neu
sed 's/^\(.*:.*:.*:\).*\(:.*:.*:.*:.*:.*:.*:.*:.*:.*$\)/\1S4.8E\2/' channels.conf > channels.neu


@sphere: Hey - was los? Habe extra 5 Minuten länger gewartet bevor ich die Antwort gepostet habe :unsch

sphere

Fortgeschrittener

Beiträge: 249

Wohnort: Krefeld

Beruf: Fachinformatiker

  • Nachricht senden

17

Donnerstag, 31. Januar 2008, 09:22

:( gerade erst gesehen, ich glaub ich sollte diesen Thread abonnieren...

Grüße
-sphere
silence: Ubuntu 9.10 | Asus M3N78-VM | AMD 4450e | TT-budget S2-1600 DVB-S2 | 5 X 1TB Raid5 | vdr (1.7.10) | xbmc opdenkamp master | Optoma HD65 Beamer | Samsung LE37B530 LCD | Onkyo 605 AVR | Heco Victa 700/300/100/25A

18

Donnerstag, 31. Januar 2008, 19:59

:grinzs :grinzs :grinzs
Software: gen2vdr V3 ( Beta8 ) / gen2vdr V2
Hardware: Intel 5200EE - 5N7A-VM - Scythe Shuriken - BeQuiet(Netzteil) - X10-USB Remote
SMT 7020S & P3@900 - Testsystem mit FF und X10-USB Remote
Links für Neueinsteiger

"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

19

Donnerstag, 31. Januar 2008, 21:27

@schmirl

Danke, es klappt mit alle drei :)

Immortal Romance Spielautomat