ggrab: Neue Version (0.20) mit neuen Features!

Digital Recording
Z80
Erleuchteter
Erleuchteter
Beiträge: 710
Registriert: Dienstag 3. September 2002, 12:54

Beitrag von Z80 »

Xenon-777 hat geschrieben:nein ... cpp heist das ist ein Qwell-Code in C++. Du must das also komplet neu compiliren, was aber garnicht so schwer ist. Du gehst einfach in das Verzeichnis wo die ganzen Dateien drin sind , also aich das ggreb.cpp, und löschst dort mal das ggreb und ssrever weg. Dann tipst du einfach mal "make" ein und nach ein par ausgaben müsten ggreb und sserver wider in den Verzeichnis erscheinen, diesmal mit den geänderten Vorgaben. solte das nicht so sein brauchst du zu "make" noch irgentwelche Parameter und dann poste einfach mal was make Ausgibt hier rein, dann sehen wir weiter.
Oh Gott! Das ist ja gruselig! An PISA ist doch was dran.
Quell(e)
musst
komplett
kompilieren (evtl. auch compilieren)
gar nicht
tippst
paar
Ausgaben (die)
müssten
wieder
sollte
irgend welche
ausgibt
Tipp:http://www.duden.de/index2.html?schreib ... piele.html
*undjetztschnellweghier*
zexma
Tuxboxer
Tuxboxer
Beiträge: 2067
Registriert: Mittwoch 6. März 2002, 15:29

Beitrag von zexma »

Wat' geht'n hier ab? :-? :o :evil:
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Hi,
Z80 hat geschrieben: ...Oh Gott! Das ist ja gruselig!....
den Sinn hast Du aber verstanden, oder? Du bist sicher nicht der Einzige hier, dem bei solchen Rechtschreibfehlern die Schuhe aufgehen, aber den Oberlehrer brauchst Du imho deshalb trotzdem nicht raushaengen. Hier geht's nicht um Reschtsreibfähller...und ich hoffe das bleibt so!

cu,
peter

--
Erbsen zählen ist nicht schlimm. Schlimm ist, wenn man glaubt, daß
das irgendjemanden interessiert.
Marco68
Interessierter
Interessierter
Beiträge: 21
Registriert: Samstag 8. Februar 2003, 18:27

Beitrag von Marco68 »

@Xenon-777

erst mal vielen Dank für Deine Erklärung.
Also ich hab das einmal bei meiner Windows Kiste(2000prof.)
sowie bei meiner IBM mit AIX4.3.3 probiert bekomme bei beiden als Fehlermeldung:

Befehl nicht gefunden

Hast Du noch was installiert für C ++?

Danke

Marco
Xenon-777
Einsteiger
Einsteiger
Beiträge: 389
Registriert: Montag 20. Januar 2003, 01:54

Beitrag von Xenon-777 »

*Zähne knisch* ... also ich weis nicht ob du das irgent wo anders als unter Linux und Cyirgentwasdos copieliren läst. Selbst unter FreeBSD geht es nicht ohne eine kleine Anpassung. Ich schätze das muss dir jemand anderes mal kurtz compieliren und dir dan zusenden. Ich würds ja machen aber ich Produzire nativ FreeBSD-Bins und die laufen bei dir 100% nicht mehr.
Nokia 2xI Kabel Avia600L
Marco68
Interessierter
Interessierter
Beiträge: 21
Registriert: Samstag 8. Februar 2003, 18:27

Beitrag von Marco68 »

@enon-777

danke erst mal jetzt bin ich weiter,unter AIX make -t
allerdings jetzt Fehlermeldung hier der log.
Kannst Du damit etwas anfangen?

# ls
HISTORY ggrab pesstream.cpp streamudp.c
Makefile ggrab.cpp pesstream.h tools.cpp
Makefile.am ggrab.exe.txt pesstream.o tools.h
README ggrab.o sserver tools.o
cbuffer.cpp list.cpp sserver.cpp vlog.c
cbuffer.h list.h sserver.exe.txt
cbuffer.o list.o sserver.h
# make -t
make: 1254-002 Cannot find a rule to create target sserver.o from dependencies.
Stop.

Danke

Marco
Gandalfx
Einsteiger
Einsteiger
Beiträge: 394
Registriert: Mittwoch 9. Oktober 2002, 11:12

Beitrag von Gandalfx »

@Marco68
geh mal in die Datei Makefile

und füge eine Zeile ein an folgender Stelle:

sserver: sserver.o
$(CXX) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) sserver.cpp -o $@ $(GG_LIBS)

sserver.o: $(GG_INCS)

ggrab.o: $(GG_INCS)


und ruf dann make wieder auf
Marco68
Interessierter
Interessierter
Beiträge: 21
Registriert: Samstag 8. Februar 2003, 18:27

Beitrag von Marco68 »

Hallo Grandalfx

Zeile eingefügt hier das Ergebnis:


sserver: sserver.o
$(CXX) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) sserver.cpp -o $@ $(GG_LIBS)
sserver.o:$(GG_INCS)
ggrab.o: $(GG_INCS)
"Makefile" 58 lines, 1060 characters
# ls
HISTORY cbuffer.h list.cpp pesstream.o tools.cpp
Makefile cbuffer.o list.h sserver tools.h
Makefile.am ggrab list.o sserver.cpp tools.o
README ggrab.cpp pesstream.cpp sserver.h vlog.c
cbuffer.cpp ggrab.o pesstream.h streamudp.c
# make
make: 1254-002 Cannot find a rule to create target sserver.o from dependencies.
Stop.
# make -t
Touch complete for file list.o.
Touch complete for file cbuffer.o.
Touch complete for file tools.o.
Touch complete for file ggrab.o.
Touch complete for file pesstream.o.
Touch complete for file ggrab.
make: 1254-002 Cannot find a rule to create target sserver.o from dependencies.
Stop.

Noch eine Idee?

Danke

Marco
Gandalfx
Einsteiger
Einsteiger
Beiträge: 394
Registriert: Mittwoch 9. Oktober 2002, 11:12

Beitrag von Gandalfx »

ich glaub, du hast die Leerzeilen vergessen....
die sind wichtig....
Marco68
Interessierter
Interessierter
Beiträge: 21
Registriert: Samstag 8. Februar 2003, 18:27

Beitrag von Marco68 »

Hallo und guten Morgen,

@grandalfx

Danke ja Du hattest recht.
Nach Änderung lief der Befehl make -t durch.
Mein Ordner ggrab schaut jetzt folgendermaßen aus:

# ls
HISTORY cbuffer.h list.h sserver.cpp tools.o
Makefile cbuffer.o list.o sserver.h vlog.c
Makefile.am ggrab pesstream.cpp sserver.o
README ggrab.cpp pesstream.h streamudp.c
all ggrab.o pesstream.o tools.cpp
cbuffer.cpp list.cpp sserver tools.h
#

Wie komm ich jetzt wieder an meine ggrap.exe und sserver.exe?

Danke

Marco
Xenon-777
Einsteiger
Einsteiger
Beiträge: 389
Registriert: Montag 20. Januar 2003, 01:54

Beitrag von Xenon-777 »

.exe? ... auf Unix???? ... also die fertig compilirten Programme sind die Dateien ggreb und sserver ... versuch sie doch einfach mal zu starten.
Nokia 2xI Kabel Avia600L
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Hi,
nach weiteren Tests ist ggrab fuer mich im Moment der absolute Favorit. Auch unter aelteren Images laeft ggrab (ohne UDP) fast perfekt. Was mich als bekennender Klicki-Bunti-Windoofi stoert ist die unbedingt notwendige cygwin-Installation. Wenn ggrab mit normaler Prioritaet laeuft (besonders mit UDP-Untersuetzung), sollte man am Besten den Rechner in Ruhe lassen. Das laesst sich entschaerfen durch 'start /REALTIME sserver (optionen)' Mit dieser Option gestartet, darf man dann auch mal das sserver-Window minimieren und die Maus bewegen, ohne das es Fehler gibt. Die CPU-Auslastung waehren der Aufnahme erreicht auf meinem P3 1Ghz auch schon mal 50%, haelt sich aber sonst in Grenzen und das benutzen weiterer Programme waehrend einer Aufnahme ist mit der Realtime-Option moeglich.

@gandalfx

Ist es denkbar, eine kleine 'cute-win32-ggrab-edition' herauszubringen, die _ohne_ cygwin auskommt? Fuer mich ist cygwin der problematische Bremsklotz und ich bin sicher eine native Win32-Version wuerde unter Windows sicher noch besser laufen.

cu,
peter

--
Lieber heute aktiv als morgen radioaktiv
50Hz-Man
Interessierter
Interessierter
Beiträge: 23
Registriert: Freitag 5. Oktober 2001, 00:00

Beitrag von 50Hz-Man »

Hallo,

ich teste seit ein paar Tagen ggrab sowohl unter Win98SE als auch unter Linux.
Bei beiden OS hatte ich das Problem, daß der aufgenommene Stream bei Ausgabe über die Hollywood+ bei bestimmten Sendern (z.B. ARD, ZDF, RTL) immer wieder kurz stockt bzw. ruckelt.
(Ton bleibt dabei aber synchron)

Bei der Wiedergabe über den ZoomPlayer am PC kann man an solchen Stellen Artefakte im Bild sehen, ohne daß jedoch das Bild kurz stehenbleibt.

Nachdem ich alle mögliche Optionen von ggrab durch hatte, hab ich zum Schluss in Neutrino das Playback während des Streamens deaktiviert.

Seitdem hab ich auch bei meinen o.g. Problemsendern einen perfekten Stream.(bis jetzt)
Hab am So 2 Std RTL und gestern 2 Std ARD testweise gestreamt ---ohne Probleme.

Meine Hardware:
Sagem 1*I, SAT, Image von gandalfx

cu
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

hi,
50Hz-Man hat geschrieben:..daß der aufgenommene Stream bei Ausgabe über die Hollywood+ bei bestimmten Sendern (z.B. ARD, ZDF, RTL) immer wieder kurz stockt bzw. ruckelt. (Ton bleibt dabei aber synchron)
..deine Hollywood+ ist eine Grafikkrarte mit eigenem mpeg2-De/Encoder, oder?
Bei der Wiedergabe über den ZoomPlayer am PC kann man an solchen Stellen Artefakte im Bild sehen, ohne daß jedoch das Bild kurz stehenbleibt.

Nachdem ich alle mögliche Optionen von ggrab durch hatte, hab ich zum Schluss in Neutrino das Playback während des Streamens deaktiviert.

Seitdem hab ich auch bei meinen o.g. Problemsendern einen perfekten Stream
finde ich schon interessant....bedeutet doch, dass der Stream bei aktiviertem Playback mit Fehlern ausgegeben wird, oder? Muss ich auch noch mal genauer testen...obwohl ich so einen Blindflug ziemlich sch... finde.
Gibt's hier einen Hardwarefreak der dafuer eine plausible Erkaerung hat?

cu,
peter

--
Praxis ohne Theorie leistet immer noch mehr als Theorie ohne Praxis.
[Quintilian]
50Hz-Man
Interessierter
Interessierter
Beiträge: 23
Registriert: Freitag 5. Oktober 2001, 00:00

Beitrag von 50Hz-Man »

Hi,

die Hollywood+ ist nur ein mpeg2-Decoder (leider)

Das mit dem perfekten Stream muss ich vielleicht noch mal relativieren.
ds.jar findet schon Fehler im Stream z.B cutpoints die eigentlich nicht da sein sollten,
aber man sieht beim abspielen nichts davon.
Video und Audio sind immer synchron.

Ähm ja, Blindflug ist wirklich nicht so toll! :cry:
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Hi,
50Hz-Man hat geschrieben:ich teste seit ein paar Tagen ggrab sowohl unter Win98SE als auch unter Linux.
noch eine kurze Frage: Hattest Du unter Linux auch die Artefakte bei nicht deaktiviertem Playback? Das starten von ggrab mit der Realtime-Option hilft imho gegen die kleinen Artefakte und ich hatte bisher die Vermutung das es an cygwin liegt, also die Linux-Fraktion damit weniger Probleme hat.

cu,
peter

--
*** Jede Katastrophe beginnt mit einer Vermutung. ***
50Hz-Man
Interessierter
Interessierter
Beiträge: 23
Registriert: Freitag 5. Oktober 2001, 00:00

Beitrag von 50Hz-Man »

@petgun

ja ich hatte unter Linux dasselbe Problem bei den gleichen Sendern,
obwohl es mir subjektiv so vorkam als würde ggrab unter Linux besser laufen.

Allerdings bin ich auch der ultimative Linux MEGA-DAU. :o
Ich hab mir am Wochenende zum erstenmal Linux auf die Platte gespielt, und war eigentlich überrascht das der sserver völlig problemlos beim ersten Versuch lief.

Das mit der Realtime-Option teste ich mal bei mir.

cu
Gandalfx
Einsteiger
Einsteiger
Beiträge: 394
Registriert: Mittwoch 9. Oktober 2002, 11:12

Beitrag von Gandalfx »

@petgun
imho brauchst du jetzt keine cygwin-Installation mehr, sondern nur noch die cygwin1.dll.
Native Windows-Installation: Ist eine Runde Arbeit, da Windows einige Funktionen so nicht zur Verfügung stellt (Im Moment nicht). Wahrscheinlich ist aber die Wirkung auch sehr gering. (Windows hat einen sch... Scheduler). Ich habe aber die Priorisierung in ggrab geändert. Ich muß es noch testen. Ich hoffe, daß dann automatisch die Priorität auch unter cygwin höher ist..
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Hi,
Gandalfx hat geschrieben:@petgun
imho brauchst du jetzt keine cygwin-Installation mehr, sondern nur noch die cygwin1.dll.
Native Windows-Installation: Ist eine Runde Arbeit, da Windows einige Funktionen so nicht zur Verfügung stellt (Im Moment nicht). Wahrscheinlich ist aber die Wirkung auch sehr gering. (Windows hat einen sch... Scheduler). Ich habe aber die Priorisierung in ggrab geändert. Ich muß es noch testen. Ich hoffe, daß dann automatisch die Priorität auch unter cygwin höher ist..
danke fuer die Antwort. Wenn Du die Priorisierung erhoehen kannst ist das sicher eine gute Idee. Bei meinen Experimenten mit der Option /REALTIME hat sich gezeigt das meine Kiste ab und an auch mal das Heil im Nirwana sucht anstatt aufzunehmen...scheint zuviel des Guten zu sein. Mit /HIGH schmiert meine Kiste nicht ab. Im Moment starte ich Dein ggrab automatisch beim hochfahren meiner Kiste ueber eine Batchdatei 'start /HIGH /MIN sserver -udp' und starte alle Aufnahmen ueber die Fernsteuerung bzw. Timer....klappt wunderbar!...im Prinzip also so wie mit Ngrab.
Diese kleineren gelegentlichen Artefakte habe ich nicht mehr beobachten koennen....und auch das vereinzelte stottern bei der Bildwiedergabe ist weg. Fuer mich ist der Stream perfekt!

Danke!

cu,
peter

--
When choosing between two evils I always like to take
the one I've never tried before.
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Traumkombination: VLC mit ggrab

Beitrag von petgun »

Hi,
noch eine kurze Ergaenzung: mit VLC laesst sich der stream von ggrab _waehrend_ der Aufnahme perfekt wiedergeben (Bild u. Ton)..einfach das *.vob file oeffnen...also wie die preview option bei TuxVision. Nur mit dem entscheidenden Unterschied das sich die CPU-Last auf meiner Kiste in Grenzen haelt (ca. 50-60%)...mit TuxVision war meine CPU (P3 1Ghz) mit Preview fast immer am Anschlag.

@50Hz-Man
Das Playback auf der Box schalte ich nicht ab und habe trotzdem keine ruckelnde Wiedergabe oder Artefakte, wenn ich ggrab mit der option /HIGH starte. Also kein Blindflug auf dem TV und durch VLC auch nicht auf dem PC :D

<edit>
wenn ich die rosarote Brille abnehme und mich an dirtystream/21Sekunden-Sender wage zB. 1Mux gibt's doch noch heftige Artefakte und VLC kackt nach kurzer Zeit (LiveView) ab. Mit der Option '-pes' muss ich noch testen....ich vermute das der ggrab-muxer auch so seine Probleme mit diesen Streams hat.
</edit>

peter

--
"I'm paranoid... I tried to join Paranoids Anonymous.
They wouldn't let me know where the meetings were."
Gandalfx
Einsteiger
Einsteiger
Beiträge: 394
Registriert: Mittwoch 9. Oktober 2002, 11:12

Beitrag von Gandalfx »

so, das 5.3. Alexw-Image mit den Treibermodifikationen fürs Streamen ist auf http://dboxupdate.berlios.de/files/gandalf.cramfs zu finden.
Viel Spaß
Dacoder
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Mittwoch 5. März 2003, 20:05

Beitrag von Dacoder »

Hallo,

welche Einstellungen bzw Optionen sind bei dem Aufruf des sserver nötig um Premiere Direkt mit AC3 aufzuhnehmen.

Ich habe schon diverse Streaming Programm probiert wie N-Grab, Wingrab, und Tuxvision, die können zum Teil AC3, brachten aber leider viele Resyncs.

Mit sserver konnte ich bisher problemlos aufnehmen.(Außer die Sender mit hohen Datenraten wie z.B. ARD)

Alle Versuche mit ggrab haben leider auch kein Erfolg gebracht, dass Programm stellt keine Verbindung zu meiner Box her, könnte vielleicht am Image meiner Box liegen es ist ein 1.6er noch drauf.

Ich habe den ganzen Thread schon mehrfach gelesen, konnte aber keinen Lösungansatz finden.

Für weitere Hilfe wäre ich sehr dankbar.
Gandalfx
Einsteiger
Einsteiger
Beiträge: 394
Registriert: Mittwoch 9. Oktober 2002, 11:12

Beitrag von Gandalfx »

also erstmal,
sserver ruft intern direkt ggrab auf, also funktioniert bei dir auch ggrab .....

wenn du mit ac3 aufnehmen willst, gibts zwei Möglichkeiten:

1. sserver starten
Auf der Box Audio auf a3c3 stellen, Aufnahme starten......

2. ggrab mit der richtigen audio-Pid starten. Beispiel:

ggrab -host 192.168.0.2 -p 0x1ff 0x203

0x1ff -> Video-Pid
0x203 -> Audio-Pid
192.168.0.2 -> Ip-Adresse der Box


Eifrig in der Readme lesen und/oder ggrab -h für alle Parameter, die möglich sind.
Gandalfx
Einsteiger
Einsteiger
Beiträge: 394
Registriert: Mittwoch 9. Oktober 2002, 11:12

Beitrag von Gandalfx »

so, aktuelle Version 0.22 liegt jetzt zum Download auf http://www.menzebach.de.
Hauptsächlich Bugfixes!
bommelid
Interessierter
Interessierter
Beiträge: 75
Registriert: Freitag 3. Mai 2002, 22:05

Beitrag von bommelid »

Hi,
ich habe natürlich auch den Streamingserver in der Version 0.22a angepasst. Damit kann man beim Start vorgeben, welche Audio-Streams er aufnehmen soll.

hier die sserver.h.diff:
21a22,23
> int apid2;
> int apid3;
Einfach die Datei sserver.h.diff im source verzeichnis erstellen, den Text einfügen und die originale sserver.h patchen:
patch sserver.h sserver.h.diff

und die sserver.cpp.diff:
51a52
> char * b_arg[50];
54a56,57
> char a_apid2[20];
> char a_apid3[20];
58c61
< int i,n;
---
> int i,n,plen;
61a65,69
> int lang_de;
> int lang_en;
> int lang_ac3;
> int lang_de_both;
>
63,70c71,80
< a_arg[1] = "-p";
< a_arg[2] = a_vpid;
< a_arg[3] = a_apid;
< a_arg[4] = "-o";
< a_arg[5] = a_filename;
< a_arg[6] = "-host";
< a_arg[7] = a_host;
< a_arg[8] = "-nos";
---
> a_arg[1] = "-o";
> a_arg[2] = a_filename;
> a_arg[3] = "-host";
> a_arg[4] = a_host;
> a_arg[5] = "-nos";
> a_arg[6] = "-p";
> a_arg[7] = a_vpid;
> a_arg[8] = a_apid;
> a_arg[9] = a_apid2;
> a_arg[10] = a_apid3;
78a89,92
> lang_de = 0;
> lang_en = 0;
> lang_ac3 = 0;
>
82c96
< n = 9;
---
> n = 11;
105a120,131
> else if (!strcmp("-lang_de",argv)) {
> i++; if (i >= argc) { fprintf(stderr, "need 1/0 for -lang_de\n"); return -1; }
> lang_de = atoi(argv);
> }
> else if (!strcmp("-lang_en",argv)) {
> i++; if (i >= argc) { fprintf(stderr, "need 1/0 for -lang_en\n"); return -1; }
> lang_en = atoi(argv);
> }
> else if (!strcmp("-lang_ac3",argv)) {
> i++; if (i >= argc) { fprintf(stderr, "need 1/0 for -lang_ac3\n"); return -1; }
> lang_ac3 = atoi(argv);
> }
110a137
> lang_de_both = lang_de && lang_ac3;
161a189,249
> if((recdata.onidsid >= 8716464 && recdata.onidsid <= 8716465) || (recdata.onidsid >= 8716468 && recdata.onidsid <= 8716471))
> {
> recdata.apid2 = 1+recdata.apid;
> recdata.apid3 = 3+recdata.apid;
> } // neutrino workaround!!!
>
> /*
> fprintf(stderr, "pid1 %x\n", recdata.apid);
> fprintf(stderr, "pid2 %x\n", recdata.apid2);
> fprintf(stderr, "pid3 %x\n", recdata.apid3);
> fprintf(stderr, "de %x\n", lang_de);
> fprintf(stderr, "en %x\n", lang_en);
> fprintf(stderr, "ac3 %x\n", lang_ac3);
> */
> plen=8;
> if (recdata.apid2 - recdata.apid == 3){
> recdata.apid3 = recdata.apid2;
> recdata.apid2 = 0;
> }
>
> if ((lang_de || lang_ac3) == 1 && lang_en != 1){
> fprintf(stderr, "option 1");
> if (lang_ac3 == 1 && recdata.apid3 != 0){
> if (lang_de_both != 1){
> recdata.apid = recdata.apid3;
> plen = 8;
> }
> else{
> recdata.apid2 = recdata.apid3;
> plen = 9;
> }
> }
> }
> if ((lang_de || lang_ac3) != 1 && lang_en == 1){
> fprintf(stderr, "option 2");
> if (recdata.apid2 != 0){
> recdata.apid = recdata.apid2;
> plen = 8;
> }
> }
> if ((lang_de || lang_ac3) == 1 && lang_en == 1){
> fprintf(stderr, "option 3");
> if (lang_ac3 == 1 && recdata.apid3 != 0){
> if (lang_de_both == 1){
> plen = 10;
> }
> else{
> recdata.apid = recdata.apid3;
> plen = 8;
> }
> }
> if (recdata.apid2){
> if (plen == 8 && recdata.apid2 != 0){
> plen = 9;
> }
> else if (plen == 10 && recdata.apid2 == 0){
> recdata.apid2 = recdata.apid3;
> plen = 9;
> }
> }
> }
164,165c252,256
< fprintf(stderr, "APID : %x\n", recdata.apid);
< fprintf(stderr, "VPID : %x\n", recdata.vpid);
---
> fprintf(stderr, "APIDS : ");
> fprintf(stderr, "%x", recdata.apid);
> if (plen >= 9){ fprintf(stderr, ", %x", recdata.apid2);}
> if (plen == 10){ fprintf(stderr, ", %x", recdata.apid3);}
> fprintf(stderr, "\nVPID : %x\n", recdata.vpid);
170a262,264
> if(plen >= 9){ sprintf(a_apid2,"0x%03x",recdata.apid2);}
> if(plen == 10){ sprintf(a_apid3,"0x%03x",recdata.apid3);}
>
182c276
< p_act += strcspn(p_act, "/ \"%&-\t`' e!,:;");
---
> p_act += strcspn(p_act, "/ \"%&-\t`'Ž!,:;");
196c290
< p_act += strcspn(p_act, "/ \"%&-\t`'~<>!,:;?^°$\\=*#@¤|µöäüÖÄÜß");
---
> p_act += strcspn(p_act, "/ \"%&-\t`'~<>!,:;?^°$\\=*#@€|µöäüÖÄÜß");
221a316,318
> for (i = 0; i <= plen; i++) {
> b_arg = a_arg;
> }
223c320
< execvp(a_arg[0], a_arg);
---
> execvp(b_arg[0], b_arg);
302a400,403
> char *p4=NULL;
> char *p5=NULL;
> char *p6=NULL;
> char *p7=NULL;
305a407,408
> char szapid2[264]="";
> char szapid3[264]="";
315a419,420
> rdata->apid2=0;
> rdata->apid3=0;
412,418c517,530
< p2=ParseForString(szXML,"<audiopids selected=", 1);
< if (p2!=NULL)
< {
< p3=ExtractQuotedString(p2, szapid, 1);
< if (p3!=NULL)
< p1=ParseForString(p3,">", 1);
< }
---
> p2=ParseForString(szXML,"<audio pid=", 1);
> if (p2!=NULL){
> p3=ExtractQuotedString(p2, szapid, 1);
> if (p3!=NULL)
> p4=ParseForString(p3,"<audio pid=", 1);
> if (p4!=NULL)
> p5=ExtractQuotedString(p4, szapid2, 1);
> if (p5!=NULL)
> p6=ParseForString(p5,"<audio pid=", 1);
> if (p6!=NULL)
> p7=ExtractQuotedString(p6, szapid3, 1);
> if (p7!=NULL)
> p1=ParseForString(p7,"</audiopids>", 1);
> }
430c543,559
< rdata->apid=atoi(szapid);
---
> {
> hv = atoi(szapid);
> rdata->apid=hv;
> }
> else rdata->apid=0;
> if (strlen(szapid2)>0)
> {
> hv = atoi(szapid2);
> rdata->apid2=hv;
> }
> else rdata->apid2=0;
> if (strlen(szapid3)>0)
> {
> hv = atoi(szapid3);
> rdata->apid3=hv;
> }
> else rdata->apid3=0;


Wie oben beschrieben vorgenen. Text in die Datei sserver.cpp.diff kopieren und die originale sserver.cpp patchen

Drei neue Argumente können dem Streamingserver beim Start übergeben werden.
-lang_de 0/1 nimmt den deutschen Ton auf
-lang_en 0/1 nimmt den englischen Ton auf (wenn vorhanden)
-lang_ac3 0/1 nimmt die AC3 Tonspur auf (wenn vorhanden)

Ist nur -lang_ac3 auf 1 gesetzt und keine AC3 Spur vorhanden, wird automatisch der deutsche Ton aufgenommen. Das gilt auch für -lang_en.

Wenn man die einzelnen Direkt Sender einzeln im Bouquet hat, kann man auch Die streamen (hoffe ich jedenfalls. Kann mich ja nicht arm testen).

Am besten man startet den Server per Script:
./sserver -host 192.168.xxx.xxx -s 0 -o /mnt/streaming -lang_de 0 -lang_en 1 -lang_ac3 1
bzw. Batch-Datei:
sserver.exe -host 192.168.xxx.xxx -s 0 -o d:\streaming -lang_de 0 -lang_en 1 -lang_ac3 1

Dann nimmt er, wenn vorhanden, immer deutsch und englisch auf. Wird der deutsche Ton in AC3 gesendet, nimmt er ihn auch nur in AC3 auf.

Gruß
bommelid

PS: ich hoffe, daß da jetzt nicht zu viele Fehler drin waren :-?
Zuletzt geändert von bommelid am Sonntag 9. März 2003, 17:02, insgesamt 1-mal geändert.
Nokia 2xI, AVIA 500