You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

  • "Mr.N!ce" started this thread

Posts: 3,603

Occupation: Admin;Support

  • Send private message

1

Thursday, January 17th 2008, 12:18am

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"

schmirl

Professional

Posts: 1,310

Location: Nähe Augsburg

  • Send private message

2

Thursday, January 17th 2008, 9:14am

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

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

Source code

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

Intermediate

Posts: 249

Location: Krefeld

Occupation: Fachinformatiker

  • Send private message

3

Thursday, January 17th 2008, 9:38am

Hi,

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

Source code

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


Macht aus:

Source code

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:

Source code

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

  • "Mr.N!ce" started this thread

Posts: 3,603

Occupation: Admin;Support

  • Send private message

4

Thursday, January 17th 2008, 7:05pm

Source code

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?

Source code

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"

This post has been edited 1 times, last edit by "Mr.N!ce" (Jan 17th 2008, 7:07pm)


5

Thursday, January 17th 2008, 11:04pm

Quoted

Original von Mr.N!ce

Source code

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:

Source code

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:

Source code

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

  • "Mr.N!ce" started this thread

Posts: 3,603

Occupation: Admin;Support

  • Send private message

6

Friday, January 18th 2008, 12:32am

Quoted

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 ;)

Quoted

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"

schmirl

Professional

Posts: 1,310

Location: Nähe Augsburg

  • Send private message

7

Friday, January 18th 2008, 8:58am

Quoted

Source code

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:

Source code

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

Intermediate

Posts: 249

Location: Krefeld

Occupation: Fachinformatiker

  • Send private message

8

Friday, January 18th 2008, 8:58am

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

Intermediate

Posts: 249

Location: Krefeld

Occupation: Fachinformatiker

  • Send private message

9

Friday, January 18th 2008, 9:03am

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

schmirl

Professional

Posts: 1,310

Location: Nähe Augsburg

  • Send private message

10

Friday, January 18th 2008, 9:15am

Quoted

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

Quoted

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)

Source code

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

  • "Mr.N!ce" started this thread

Posts: 3,603

Occupation: Admin;Support

  • Send private message

11

Friday, January 18th 2008, 7:01pm

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:

Quoted

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"

  • "Mr.N!ce" started this thread

Posts: 3,603

Occupation: Admin;Support

  • Send private message

12

Friday, January 18th 2008, 7:01pm

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:

Quoted

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"

This post has been edited 1 times, last edit by "Mr.N!ce" (Jan 18th 2008, 7:04pm)


sphere

Intermediate

Posts: 249

Location: Krefeld

Occupation: Fachinformatiker

  • Send private message

13

Saturday, January 19th 2008, 12:10am

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

This post has been edited 1 times, last edit by "sphere" (Jan 19th 2008, 10:45am)


  • "Mr.N!ce" started this thread

Posts: 3,603

Occupation: Admin;Support

  • Send private message

14

Saturday, January 19th 2008, 1:42pm

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"

This post has been edited 2 times, last edit by "Mr.N!ce" (Jan 19th 2008, 1:43pm)


15

Thursday, January 31st 2008, 2:59am

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!

schmirl

Professional

Posts: 1,310

Location: Nähe Augsburg

  • Send private message

16

Thursday, January 31st 2008, 9:01am

Quoted

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:

Source code

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

Intermediate

Posts: 249

Location: Krefeld

Occupation: Fachinformatiker

  • Send private message

17

Thursday, January 31st 2008, 9:22am

:( 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

  • "Mr.N!ce" started this thread

Posts: 3,603

Occupation: Admin;Support

  • Send private message

18

Thursday, January 31st 2008, 7:59pm

: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

Thursday, January 31st 2008, 9:27pm

@schmirl

Danke, es klappt mit alle drei :)

Immortal Romance Spielautomat