UDREC Streams mit anderen Programmen bearbeiten

Digital Recording
sir-zock-a-lot
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Mittwoch 15. Oktober 2003, 16:33

Beitrag von sir-zock-a-lot »

Hallo Thorsten,

Als Lehrbeispiel ... ohjee, das hab ich nicht gewollt ;) Aufpassen musst du, wenn sserver/udrec oder projectX anfangen, die Datei zu splitten, dann faellt das Skript auf die Nase. Das hab ich derweil geaendert.

Du brauchst keinen User automatisch anmelden. Unter RedHat gibt ein Skript namens "/etc/rc.local", dass am Ende des bootens ausgefuehrt wird. Da hab ich folgendes reingepackt :

/opt/mkdvd-0.06/start_sserver.sh > /var/log/udrec.log 2>&1 &

"start_sserver.sh" sieht so aus :

Code: Alles auswählen

#!/bin/bash
cd /opt/mkdvd-0.06/
./sserver -o /free/media/movies/dbox/mkdvd_tmp -host 192.168.0.5 -ip 192.168.0.100 -script ./script -udrec &
Ich weiss nicht, ob es bei Suse sowas auch gibt. Ist auch kein echter "System-V"-Style aber schoen faul.

Ansonsten findest du erstmal den default-Runlevel herraus :

grep default /etc/inittab

bei mir:

# 0 - halt (Do NOT set initdefault to this)
# 6 - reboot (Do NOT set initdefault to this)
id:5:initdefault:

und legst ein skript namens "start_sserver" unter /etc/init.d/ ab. Da packst du sowas wie s.o. rein. "chmod 775" zum ausfuehrbar machen nicht vergessen !

Dann gehst du nach /etc/rc5.d und legst einen Symlink auf dein Skript :

ln -s ../init.d/start_sserver S99sserver

fertig. Bei jedem Boot wird dann dein sserver gestartet.

Wenn du zu deinem "./sserver <optionen>" noch ein ">> /var/log/udrec.log 2>&1 " packst, werden eine Aufnahmen schoen in ein Logfile protokolliert.

Gruss,
Patrick
sir-zock-a-lot
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Mittwoch 15. Oktober 2003, 16:33

Beitrag von sir-zock-a-lot »

alsuffndruff hat geschrieben:Hallo,
etwas aehnliches stelle ich mir auch vor, in Form eine Installationspakets (rpm, deb ???) das alle erforderlichen Programme enthaelt.
hehe, ok, du warst schneller ;)

Die Idee mit dem RPM ist zwar gut, allerdings schwer zu realisieren, da es doch ne ganze Menge Abhaengigkeiten gibt, die zu beruecksichtigen sind.

Ausserdem halte ich es schon fuer sinnvoll das zu Fuss zu machen, weil man eher herrausfindet wo es klemmt. Offensichtlich ist auch fuer die Meisten hier der Weg das Ziel ;)

Gruss,
Patrick
worfdata
Interessierter
Interessierter
Beiträge: 54
Registriert: Dienstag 20. August 2002, 09:57

Beitrag von worfdata »

Ich habe am Wochenende zeitraubend projectX so umgeschrieben (projectY), das es ohne XServer läuft! Ob es voll funktionsfähig ist, weiss ich nicht, aber es läuft zumindest in den Standardeinstellungen mit dem Script zusammen. Was ganz schön arbeit, wenn man bedenkt, dass die Datei X.java über 10.000 (zehntausend) Zeilen umfasst und allemöglichen Inlineklassen enthalten sind.

Wenn jemand interesse hat, brauche ich eine emailadresse oder uploadspace, wo ich es hinpacken kann (samt sourcen)

Mein Problem ist im Moment noch, wie ich vlc automatisch beim booten ans laufen bekomme. Es kennt eine option '--extraintf rc' die eine Kommandozeilenbedienung zuläßt. Beim Starten tut sich aber rein gar nix. Muß ich dafür vls nehmen ???
sir-zock-a-lot
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Mittwoch 15. Oktober 2003, 16:33

Beitrag von sir-zock-a-lot »

Moin worfdata,

pX ohne X waere schon eine feine Sache, wobei ich das vielleicht mit dem Author klaeren wuerde, ob es Sinn macht, das in seinen Code zu integrieren, vielleicht als CL-parameter, sonst muesstest du dir ja bei jedem Update wieder die gleiche Arbeit machen.

Meinen vlc starte ich uebrigens ebenfalls aus der rc.local via:

/usr/bin/vlc --extraintf=http -I dummy >> /var/log/vlc_http.log 2>&1 &

-I dummy verhindert das starten der GUI, der Rest kuemmert sich ums logging.

Gruss,
Patrick
worfdata
Interessierter
Interessierter
Beiträge: 54
Registriert: Dienstag 20. August 2002, 09:57

Beitrag von worfdata »

@sir-zock-a-lot: Mein projectY Code ist nur ein Hack. projectX anzupassen wäre gewiss eine Sache des Authors, aber lässt sich nicht mal eben so realisieren... Schau mal in den Quellcode. Dort werden alle JCheckboxes usw. erzeugt in die dann die Einstellungen der X.ini geschrieben werden. Selbst wenn dann nur auf Kommandozeile gearbeitet wird, werden die Einstellungen aus den JCheckboxes geholt ...

Eine andere (offtopic) Frage zur Verständniss: Ich arbeite mich gerade erst in Linux ein. was macht das ..2>&1 & am Ende deiner Zeile??? (Die Option -I dummy hab ich wohl übersehen, in den massig vielen Optionen und plugins ...)
sir-zock-a-lot
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Mittwoch 15. Oktober 2003, 16:33

Beitrag von sir-zock-a-lot »

Eine andere (offtopic) Frage zur Verständniss
<offtopic>
Damit kannst du die Ausgabe einer shell umleiten. "1" entspricht stdout und "2" stderr. Sollte der vlc Fehler ausspucken, wuerde das in deinem log nicht auftauchen, deswegen wird stderr nach stdout umgeleitet.
"ls *.mpg 1> file" oder "ls *.mpg > file" leitet also die Ausgabe von ls in eine Datei um. Existieren keine Dateien, die auf mpg enden, ist "file" leer. Ein "ls *.mpg > file 2>&1" schreibt aber "ls: *.mpg: No such file or directory" nach "file". Das ist immer mal wieder ganz nuetzlich.
Das "&" am Ende der Zeile hat nichts mit irgendeiner Umleitung zu tun, sondern schiesst den Prozess in den Hintergrund.
</offtopic> ;)

Gruss,
Patrick
alsuffndruff
Einsteiger
Einsteiger
Beiträge: 264
Registriert: Montag 9. Juni 2003, 21:18

@tonsel: mkdvd im Paket

Beitrag von alsuffndruff »

@sir-zock-a-lot
Hi, ich gebe dir Recht mit dem Weg und dem Ziel :-)
Allerdings aergere ich mich immer wieder, wenn ich etwas gebaut habe (auf meiner Linuxkiste), in X verschiedenen Config files Aenderungen gemacht habe um das ganze zum laufen zu bringen und dann irgendwann festelle, dass ich den entscheidenden Schritt zu kommentieren vergessen habe und somit wieder bei 0 anfange. Deshalb der Ansatz mit dem Installationspaket. Ist fuer mich uebrigens auch noch Teil des Wegs :-). Hattest du ein problem damit, deine hier veröffentlichten skripte in einem Installationspaket wiederzufinden? Ich wuerde die noch ein wenig anpassen, zwecks zentraler Konfiguration usw.

@tonsel
ich möchte gerne deine sourcen (mkdvd06c) verwenden um daraus ein Installationspaket für Linux machen (zusammen mit projectX oder Y sowie den hier von sir-zock-a-lot verfoeffentlichten skripten). Nennen wir das ganze mal dboxvdr. Ich weiss noch nicht ob das ueberhaupt geht, oder ob ich im Wust aus Abhängigkeiten versinke.
Da ich debian verwende, wollte ich mit einem .deb beginnen, vielleicht kann man das dann ja mit irgendwelchen Tools in rpm umwandeln (alien oder wie das hiess).
Wie auch immer:
Hast du ein Problem damit, wenn ich deine sourcen dazu verwende und die Ergebnisse (so es irgendwann welche gibt) hier im Board bereitstelle?

@worfdata: Das selbe gilt fuer dich, ich hatte ja schon mal eine PN an dich geschrieben.

dvb.matt muss ich noch ansprechen.

Gruss
Kai

PS: Das einfachte waere natuerlich ein tgz, aber das laesst sich nicht deinstallieren. Oder weiss da jemand mehr?
sir-zock-a-lot
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Mittwoch 15. Oktober 2003, 16:33

Beitrag von sir-zock-a-lot »

Moin,

also wegen meinem dahin-gefrickelten Skript brauchst du dir die geringsten Sorgen zu machen. Ich wuerde dich da mit neueren Versionen versorgen.

Klar wuerde auch ein tgz funktionieren. Haette den Vorteil, dass du auch die BSD oder Solaris-Jungs hier im Forum bedienen koenntest.
PS: Das einfachte waere natuerlich ein tgz, aber das laesst sich nicht deinstallieren. Oder weiss da jemand mehr?
Doch, "checkinstall" tut genau das.

Sollte man diesbezueglich vielleicht einen neuen thread aufmachen ?

Gruss,
Patrick
tonsel
Erleuchteter
Erleuchteter
Beiträge: 536
Registriert: Freitag 21. September 2001, 00:00

Beitrag von tonsel »

@alsuffndruff

Meine Programme kannst Du gerne verwenden.

tonsel
Spectre
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 7. November 2003, 14:08

Beitrag von Spectre »

@sir-zock-a-lot

Vielen Dank! :D

Bei Suse gibt es die Datei namens boot.local. Das hatte ich schon
rausbekommen! Du lieferst mir den Rest. :D

Runlevels unter Suse:
0 Systemhalt (system halt)
S Einzelbenutzerbetrieb vom Bootprompt mit US-Tastatur
1 Einzebenutzerbetrieb
2 Lokaler Mehrbenutzerbetrieb ohne Netzwerk
3 Voller Multiuserbetrieb mit Netzwerk
4 Frei
5 Voller Mehrbenutzerbetrieb mit Netzwerk und KDM,GDM oder XDM
6 Systemneustart (system reboot)
D.h. es ist der selbe Runlevel wie bei RedHat!

Habs ausprobiert und es funktioniert wunderbar! :D

Jetzt hab ich gleich nochmal ne Frage, wenn ich sserver sichtbar auf der Konsole und in Arbeitsfläche 2 haben will, was muss ich dann machen?

Gruß,

Thorsten[/quote]
Spectre
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 7. November 2003, 14:08

Beitrag von Spectre »

@sir-zock-a-lot

Vielen Dank! :D

Bei Suse gibt es die Datei namens boot.local. Das hatte ich schon
rausbekommen! Du lieferst mir den Rest. :D

Runlevels unter Suse:
0 Systemhalt (system halt)
S Einzelbenutzerbetrieb vom Bootprompt mit US-Tastatur
1 Einzebenutzerbetrieb
2 Lokaler Mehrbenutzerbetrieb ohne Netzwerk
3 Voller Multiuserbetrieb mit Netzwerk
4 Frei
5 Voller Mehrbenutzerbetrieb mit Netzwerk und KDM,GDM oder XDM
6 Systemneustart (system reboot)
D.h. es ist der selbe Runlevel wie bei RedHat!

Habs ausprobiert und es funktioniert wunderbar! :D

Jetzt hab ich gleich nochmal ne Frage, wenn ich sserver sichtbar auf der Konsole und in Arbeitsfläche 2 haben will, was muss ich dann machen?

Gruß,

Thorsten
Spectre
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 7. November 2003, 14:08

Beitrag von Spectre »

@sir-zock-a-lot

Vielen Dank! :D

Bei Suse gibt es die Datei namens boot.local. Das hatte ich schon
rausbekommen! Du lieferst mir den Rest. :D

Runlevels unter Suse:
0 Systemhalt (system halt)
S Einzelbenutzerbetrieb vom Bootprompt mit US-Tastatur
1 Einzebenutzerbetrieb
2 Lokaler Mehrbenutzerbetrieb ohne Netzwerk
3 Voller Multiuserbetrieb mit Netzwerk
4 Frei
5 Voller Mehrbenutzerbetrieb mit Netzwerk und KDM,GDM oder XDM
6 Systemneustart (system reboot)
D.h. es ist der selbe Runlevel wie bei RedHat!

Habs ausprobiert und es funktioniert wunderbar! :D

Jetzt hab ich gleich nochmal ne Frage, wenn ich sserver sichtbar auf der Konsole und in Arbeitsfläche 2 haben will, was muss ich dann machen?

Gruß,

Thorsten
franky_b
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Dienstag 18. November 2003, 02:06

ProjectX über Skript starten

Beitrag von franky_b »

Hallo zusammen,

ich tu mich noch etwas schwer, ProjectX von der Kommandozeile unter Linux zu starten.

Ich bekomme folgende Fehlermeldung:

Code: Alles auswählen

Exception in thread "main" java.lang.NoClassDefFoundError
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
        at java.awt.Window.init(Unknown Source)
        at java.awt.Window.<init>(Unknown Source)
        at java.awt.Frame.<init>(Unknown Source)
        at java.awt.Frame.<init>(Unknown Source)
        at javax.swing.JFrame.<init>(Unknown Source)
        at SUBPICTURE.<init>(SUBPICTURE.java:47)
        at X.<init>(X.java:86)
        at X.main(X.java:3883)
Hier hatte ich mich über SSH eingeloggt. Mein X-Server läuft unter dem Benutzer X unter VNC.

Klappt das in nem Skript (script.udrec zB), das als Benutzer Y läuft, dass die ProjectX Ausgabe über den VNC X-Server abgewickelt wird?

Oder anders gefragt: Wie mache ich die Zuordnung Kommandozeile -> X-Ausgabe?

MfG

FrankyB
franky_b
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Dienstag 18. November 2003, 02:06

Beitrag von franky_b »

Und direkt noch ne Frage:

Momentan nehme ich die Kette sserver + udrec - ProjectX (ggf. mit schneiden) - IfoEdit.

Jetzt hab ich hier gelesen, dass mplex besser (bzgl. Synchronität) muxt als IfoEdit.

Was kommt denn bei mplex heraus? Eine .mpg Datei?

Und dann: womit authore ich damit dann eine DVD OHNE Neuberechnungen?

MfG

FrankyB
sir-zock-a-lot
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Mittwoch 15. Oktober 2003, 16:33

Beitrag von sir-zock-a-lot »

Hallo,

@spectre:
wenn ich sserver sichtbar auf der Konsole und in Arbeitsfläche 2 haben will, was muss ich dann machen?
Hab ich auch grad nicht im Kopf, rtfm wuerd ich sagen ;)

@franky_b:
Das kenn ich. Bei mir tats ein (je nach DM):
xauth merge /var/gdm/\:0.Xauth > /dev/null 2>&1
und
export DISPLAY=localhost:0
im script. Ausserdem kann ein xhost + localhost nie schaden ;)

mplex spuckt ein mpg aus. "dvdauthor" baut daraus dann eine dvd.
Wird in meinem naechsten "script.udrec" mit dabei sein.

Gruss,
Patrick
sir-zock-a-lot
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Mittwoch 15. Oktober 2003, 16:33

Beitrag von sir-zock-a-lot »

Hallo,

@spectre:
wenn ich sserver sichtbar auf der Konsole und in Arbeitsfläche 2 haben will, was muss ich dann machen?
Hab ich auch grad nicht im Kopf, rtfm wuerd ich sagen ;)

@franky_b:
Das kenn ich. Bei mir tats ein (je nach DM):
xauth merge /var/gdm/\:0.Xauth > /dev/null 2>&1
und
export DISPLAY=localhost:0
im script. Ausserdem kann ein xhost + localhost nie schaden ;)

mplex spuckt ein mpg aus. "dvdauthor" baut daraus dann eine dvd.
Wird in meinem naechsten "script.udrec" mit dabei sein.

Gruss,
Patrick
worfdata
Interessierter
Interessierter
Beiträge: 54
Registriert: Dienstag 20. August 2002, 09:57

Beitrag von worfdata »

Ich hab eventuell eine Lösung gefunden, die es möglich macht, projectX ohne XServer ausführen zu können. Eventuell ohne Sourcecodeanpassungen:

http://www.geocities.com/marcoschmidt.g ... faq.html#x

Wenn Java 1.4 mit dem Parameter -Djava.awt.headless=true gestartet wird, arbeitet AWT ohne XServer. Ich hoffe, das gilt auch für Swing!
Ansonsten sind dort noch zwei andere Tips (PJA und xvfb), welche aber mehr Anpassung benötigen.

Getestet habe ich noch nicht . . .
worfdata
Interessierter
Interessierter
Beiträge: 54
Registriert: Dienstag 20. August 2002, 09:57

Beitrag von worfdata »

Ich habs inzwischen ausprobiert!

Das mit dem Java Parameter -Djava.awt... klappt leider nicht.

Die Lösung mit xvfb (X Virtual Frame Buffer) klappt aber. Package installieren und das script xvfb-run benutzen, ohne Optionen!

Werd morgen mal versuchen, anstatt erst projectX und dann mplex für ein MPG-File zu benutzen, ganz normal mkdvd mit der Option -onevob zu starten und das VOB-File dann mit projectX in ein TS umzuwandeln. Das kann man dann hoffentlich ohne große Probleme auch mit "älteren" Rechnern als Hintergrundserver über NFS gemounted auf der dbox im movieplayer als TS abspielen (Mordssatz).

edit:
TIP: xvfb-run benötigt xauth, das Verzeichis /usr/X11R6/bin ist aber für beim booten automatisch startende threads nicht im PATH!