MPEG abspielen ohne VLC

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
dwilx

Re: MPEG abspielen ohne VLC

Beitrag von dwilx »

Sehe ich das richtig, dass der Moviebrowser nur auf die Funktionalität des Movieplayers zugreift, und der Moviebrowser dann eigentlich nur Komforttätigkeiten durchführt, ohne direkt für interne Techniken wie das Abspielen usw. verantwortlich zu sein, oder hat der eigene Maschinerie? :gruebel: Also hat der Movieplayer sowas wie eine Schnittstelle? Wenn das so wäre, müsste man doch auch für MP2 diese Schnittstelle anbieten können. Wenn ich mich nicht irre, sollte das doch eigentlich in Richtung objektorientierten Aufbau gehen? Stichwort Wiederverwendbarkeit.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: MPEG abspielen ohne VLC

Beitrag von seife »

Schön wär's. greppe mal in movieplayer.cpp nach "#ifdef MOVIEBROWSER".
Ja, man könnte das machen, sogar relativ einfach. Im MP2 würde das nur wenig Änderungen erfordern (man würde die Filebrowsersache auslagern, was ja eigentlich auch nicht in den MP gehört und stattdessen einfach nur die "spiele diese URL ab"-Funktion im MP[12] lassen).

Aber ich werd's nicht machen, da ich es nicht brauche ;-)
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: MPEG abspielen ohne VLC

Beitrag von Tommy »

Wirklich Schade - die ganzen Serienfilter|Serienausblendengeschichten + EPG + mehrere Laufwerke scannen hat schon einen enormen Comfort. Mit dem MP muß man sich halt wieder drum kümmern das man verschiede Verzeichnisse anlegt in die man dann aufnimmt. <OT> ist die Verzeichnisauswahl bei Timeraufnahme eigentlich schon gefixt </OT>
Vieleicht meldet sich ja Günther nochmal und Ihr könnt's irgendwie Zusammen machen mit einer ordentlichen Schnittstelle und sauber getrennt.

Geht im MP2 eigentlich abspielen mit PIN? Oder wird das schon vor dem MP gemanaged
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: MPEG abspielen ohne VLC

Beitrag von seife »

Tommy hat geschrieben:Geht im MP2 eigentlich abspielen mit PIN? Oder wird das schon vor dem MP gemanaged
Du kannst zwar eine PIN eingeben, aber das ändert nichts ;-)
Das sollte aber wirklich trivial zu implementieren sein, für jemand der's braucht.

Zum Thema Moviebrowser: wenn es jemand schafft, das so aufzuräumen, dass das ohne grössere Umbauten auch an den MP2 angeflanscht werden kann, dann habe ich da nichts dagegen. Ich werd's nicht machen, weil ich es nicht brauche und meine User davon eher verwirrt waren.
Was gemacht werden müste (IMHO): der Moviebrowser müsste so sein, dass er dem MP einfach eine URL (oder eine Filelist) übergibt, aber nicht in den Innereien rummacht. Momentan kann das der MP2 nicht (mit einer URL aufgerufen werden), momentan kann man ihm nur sage: "spiele lokale Datei ab" (dann macht er den Filebrowser auf) oder "spiele VLC-Datei ab" (dann macht er en VLC-Filebrowser auf), ausserdem "spiele DVD" und "spiele VCD", aber das sollte nicht schwierig sein, da eine zusätzliche Schnittstelle einzubauen oder sogar den MB den Filebrowser ersetzen zu lassen.

Damit das was wird, muss aber jemand das machen, dieser jemand muss das ja auch mit dem alten MP am laufen halten, deswegen glaube ich nicht, dass das jemand machen wird.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: MPEG abspielen ohne VLC

Beitrag von seife »

amiga23 hat geschrieben:Mit dem strncpy ohne \0 will es bei mir einfach nicht funktionieren. Vielleicht muss es p2 - p1 +1 heissen???
nein, ich musste die strncpy manpage richtig lesen. snprintf hängt immer eine 0 an, strncpy nicht ;)
name lese ich jetzt auch aus (ursprünglich hattest Du es auskommentiert) und schreibe es ins Display.
das habe ich mal weggelassen, denn das funktioniert zwar, ist aber IMHO am falschen Platz. Das würde in den Infobar-Teil gehören.
Besser wäre es, man würde die playlist-Files nicht vom Input-Thread parsen lassen, sondern im PlayStream(), so ähnlich wie auch aus mehreren .001.ts, .002.ts ... oder mehreren .vdr Files eine Playlist gemacht wird, so dort auch die einzelnen dboxstreams in eine Playlist einfügen, und dann nur einen URL in der art "dbox://ip:port/vid/aid/zapid" an den ReceiveStreamThread zu übergeben. Da hätte man auch gleich im Kontroll-Thread den Namen zur Verfügung und müsste den nicht aus dem input thread wieder irgendwie zurückreichen.
Naja, irgendwann mal :-)
Eigentlich würde ich gerne den aktuellen Sendungsname im Display anzeigen. Noch cooler wäre es natürlich die ganzen EPG informationen abzugreifen und anzuzeigen wenn man die Infotaste drückt. Hab das angefangen, aber nicht in dem patch drin.
Wobei das wieder schwierig ordentlich zu machen ist, da man das dann wieder anders handhaben müsste (Für Dateien, seien es TS oder VDR Files, stehen die Metadaten beim Öffnen schon fest. Für die dboxstreams müsste man das vom input-Thread regelmässig aktualisieren lassen).

Auch nett wäre es, sich einfach die Kanalliste von der anderen Box zu holen und dann einfach als Playlist anzubieten...
Ob die usleep wirklich nötig sind weis ich nicht. Die Box von der ich streame ist eine Kabelbox. Manchmal dauert es beim umschalten etwas. Müsste man mal etwas genauer ohne usleep testen.
so wie es bei mir aussieht (habe es nur mit wget getestet) kommt der zapto-http-Request erst zurück, wenn die box umgeschaltet hat. Also sollte der usleep überflüssig sein. Ich habe es mal kommentiert drin gelassen, aber gehen sollte es ohne.
Wenn man zwischen dieser Meldung:

Code: Alles auswählen

[mp:OutputThread:2189] Waiting for input thread to stop
und dieser Meldung:

Code: Alles auswählen

[mp:ReceiveStreamThread:1094] ends now.
[mp:OutputThread:2191] Seems that input thread was stopped succesfully
den nächsten stream startet, kommt es zu einem segfault.
Ja, das konnte ich reproduzieren und das sollte jetzt gefixt sein.
Achso: ich nutze übrigens uclibc falls diese Info wichtig ist.
Die scheint bei manchen Sachen etwas pingeliger zu sein - was eine gute Sache ist, da findet man die bugs schneller ;) Evtl. sollte ich mir das auch mal aufsetzen.

Danke für's qualifizierte Feedback - so kann man arbeiten ;)
musicus
Einsteiger
Einsteiger
Beiträge: 140
Registriert: Mittwoch 9. August 2006, 10:29

Re: MPEG abspielen ohne VLC

Beitrag von musicus »

Hätte mal eine unqualifizierte kurze Zwischenfrage...
seife hat geschrieben:Momentan kann das der MP2 nicht (mit einer URL aufgerufen werden)
Wäre es in einer zukünftigen Version möglich, dass der MP2 auch MP4-Streams aus dem
Internet abspielen kann (ähnlich wie der Internetradioplayer)?
Dann bräuchte man den Xampp ja nicht mehr dazwischen zu schalten...

Gruß musicus
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: MPEG abspielen ohne VLC

Beitrag von seife »

musicus hat geschrieben:Hätte mal eine unqualifizierte kurze Zwischenfrage...
seife hat geschrieben:Momentan kann das der MP2 nicht (mit einer URL aufgerufen werden)
Wäre es in einer zukünftigen Version möglich, dass der MP2 auch MP4-Streams aus dem
Internet abspielen kann (ähnlich wie der Internetradioplayer)?
Dann bräuchte man den Xampp ja nicht mehr dazwischen zu schalten...

Gruß musicus
Was ist Xampp?

Wenn du entsprechende Dekodierhardware in deiner Box hast, oder eine CPU, die schnell genug ist, dann wäre das bestimmt möglich (wenn du einen Demultiplexer für das Containerformat implementierst und, falls keine Hardware da ist, einen Softwaredekoder).

Mit URL war oben allerdings nicht eine Internet-URL gemeint, sondern eine andere Art, dem MP2 die box2box-Parameter zu übergeben.
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: MPEG abspielen ohne VLC

Beitrag von Tommy »

seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: MPEG abspielen ohne VLC

Beitrag von seife »

Ja, das kannte ich schon, aber der Zusammenhang mit dem Movieplayer erschliesst sich mir nicht, deswegen dachte ich, dass es das nicht sein kann ;-)
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: MPEG abspielen ohne VLC

Beitrag von rhabarber1848 »

seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: MPEG abspielen ohne VLC

Beitrag von seife »

Ah, jetzt, ja.
Naja, eigenltich ist der Fokus vom MP2 die selbständige Wiedergabe von "alles, was technisch geht". Wenn ich eh nen Rechner brauche, um das umzurechnen, kann ich den auch gleich zur Wiedergabe nehmen :-)
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Re: MPEG abspielen ohne VLC

Beitrag von DrStoned »

@seife
Mir ist gerade aufgefallen, dass durch die Änderungen in letzter Zeit, am TS-Filmarchiv noch was kaputt gegangen sein muss.
Seitdem da einiges geändert wurde, werden mit dem neuesten JtG-Snapshot von heute, bzw. letzter Woche im TS-Filmarchiv beim Abspielen eines Films keine Änderungen mehr in den *.xml Dateien abgespeichert. So wurde darin das letzte Abspieldatum und die Zeit abgespeichert, wann man den Film mittendrin verlassen hatte. Beim nächsten Start dieses Films konnte man dann entscheiden, ob der Film von Anfang an, oder ab dem letzten Verlassen der Filmdatei abgespielt wird.

Ich habe jetzt gerade mal auf das Release vom 22.12.2008 zurückgeflasht und siehe da, da werden die xml-Dateien nach dem dem Abspielen des Films noch gespeichert. Der Fehler muss sich irgendwann zwischen dem 22.12.2008 und vermutlich dem 15.01.2009 eingeschlichen haben. Ich flashe jetzt nochmal den Snapshot vom 15.01.2009 und teste damit nochmal.

Eventuell liegt es aber auch daran: http://forum.tuxbox-cvs.sourceforge.net ... =2&t=48459

Edit: Beim JtG-Snapshot vom 15.01.2009 tritt der Fehler ebenfalls auf.

Greetz von DrStoned :lol: :lol: :lol:
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Re: MPEG abspielen ohne VLC

Beitrag von DrStoned »

Ich habe jetzt noch einen Snapshot vom 10.01.2009 20:36 Uhr gefunden, auch da tritt der Fehler auf. Das eigenartige ist, dass die GUI upgedatet wird, nur die xml-Datei wird nicht auf der Festplatte geschrieben. :gruebel:

Bild

Dieser Screenshot wurde mit dem Image vom 22.12.2008 gemacht, da funktioniert es noch richtig.

Also liegt es definitiv nicht an der Änderung der XML-Geschichte, denn die war später.

Greetz von DrStoned :lol: :lol: :lol:
Zuletzt geändert von DrStoned am Montag 19. Januar 2009, 19:26, insgesamt 2-mal geändert.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: MPEG abspielen ohne VLC

Beitrag von Gaucho316 »

Ich habe das auch schon beobachtet. Allerdings tritt der Fehler bei mir nicht immer auf. Mal wird die letzte Abspielposition gespeichert und mal nicht. Ich konnte dabei noch kein System feststellen. :gruebel:
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Re: MPEG abspielen ohne VLC

Beitrag von DrStoned »

Ich habe jetzt wieder das Image vom 22.12.2008 drauf. Da funktioniert es bei mir definitiv immer richtig.

Greetz von DrStoned :lol: :lol: :lol:
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: MPEG abspielen ohne VLC

Beitrag von seife »

Ich vermute mal, es wird im Umfeld von http://cvs.tuxbox-cvs.sourceforge.net/l ... 00090.html passiert sein.

Edit: Drstoned, mach bitte einen extra thread auf, da das mit MPEG nicht viel zu tun hat ;-) Schau mal, ob im Log sowas auftaucht:

Code: Alles auswählen

[mi] saveXml: foo.xml
evtl auch

Code: Alles auswählen

[mi] saveXml: save error
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: MPEG abspielen ohne VLC

Beitrag von bellum »

Hi Seife,
teste ja gerade Deinen MP2. Mit der V1.17 habe ich aktuell, das Problem, dass sich der MP2 beim Beenden der Wiedergabe aufhängt. Dabei ist es egal ob mit oder ohne AC3. Anbei das Log:

Code: Alles auswählen

[mp:PlayStream:2502] Path: '/mnt/movies/record/'
[mp:PlayStream:2527] sel_filename: /mnt/movies/record/ProSieben_2009-01-04_163300.001.ts
[mp:PlayStream:2536] Generated FILE MRL: /mnt/movies/record/ProSieben_2009-01-04_163300.001.ts
[mp:OutputThread:1920] ringbuffer (size 1048575) created
[mp:OutputThread:1929] mrl:/mnt/movies/record/ProSieben_2009-01-04_163300.001.ts
[mp:OutputThread:1940] found TS file
[mp:OutputThread:2169] CMoviePlayerGui::SOFTRESET
SPTS, queue 0 extended.
[mp:ReadTSFileThread:1118] start, filename = '/mnt/movies/record/ProSieben_2009-01-04_163300.001.ts', fd = 25
[mp:ReadTSFileThread:1134] Buffering...
[mp:ReadTSFileThread:1142] file starts at 0
[mp:ReadTSFileThread:1151] found pida: 0x025B pidv: 0x025A ac3: 0 numpida: 1
[mp:ReadTSFileThread:1192] PTS at file start: 70200502
[mp:OutputThread:1983] while streaming found pida: 0x025B ; pidv: 0x025A ac3: 0
[mp:OutputThread:2169] CMoviePlayerGui::SOFTRESET
SPTS, queue 0 extended.
[controld] VIDEO_EVENT_SIZE_CHANGED 720x576 (16:9 -> 4:3)
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:ReadTSFileThread:1385] ends now.
[mp:OutputThread:2232] Waiting for input thread to stop
[mp:OutputThread:2240] ends here.
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
[mp:PlayStream:2486] waiting for output thread to terminate...
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: MPEG abspielen ohne VLC

Beitrag von seife »

Ja.
Quickfix: streaming_show_tv_in_browser=0 (kann man irgendwo in den MP Einstellungen setzen, "Zeige TV im Browser" oser so ähnlich).

Fixe ich am Wochenende richtig.

Edit:

Code: Alles auswählen

diff -u -p -r1.17 movieplayer2.cpp
--- movieplayer2.cpp    18 Jan 2009 00:36:05 -0000      1.17
+++ movieplayer2.cpp    19 Jan 2009 20:38:01 -0000
@@ -2481,10 +2481,12 @@ CMoviePlayerGui::PlayStream(int streamty
                        if (g_settings.streaming_show_tv_in_browser == true &&
                            g_ZapitsetStandbyState == true)
                        {
-                               while (g_output_thread)
+                               if (g_output_thread) // the output thread is using the devices
                                {
                                        INFO("waiting for output thread to terminate...\n");
-                                       usleep(250000);
+                                       pthread_join(rct, NULL);
+                                       g_output_thread = false;
+                                       INFO("done\n");
                                }
                                g_Zapit->setStandby(false);
                                g_ZapitsetStandbyState = false;
Das müsste tun.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: MPEG abspielen ohne VLC

Beitrag von seife »

seife hat geschrieben:
Tommy hat geschrieben:Geht im MP2 eigentlich abspielen mit PIN? Oder wird das schon vor dem MP gemanaged
Du kannst zwar eine PIN eingeben, aber das ändert nichts ;-)
Das sollte aber wirklich trivial zu implementieren sein, für jemand der's braucht.
Ich brauch's zwar nicht, aber weil ich gerade nichts besseres zu tun hatte...
Sollte exakt gleich funktionieren wie beim alten movieplayer (ich habe das extra nicht geändert, damit die Doku weiter korrekt ist):
- /var/bin/parental.sh wird beim starten von "TS abspielen mit PIN" mit Parameter "1" aufgerufen, wenn das nächste mal ohne PIN gestartet wird, wird es mit Parameter "0" aufgerufen.
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: MPEG abspielen ohne VLC

Beitrag von Tommy »

THX :D
Loron
Neugieriger
Neugieriger
Beiträge: 16
Registriert: Samstag 2. Dezember 2006, 15:33

Re: MPEG abspielen ohne VLC

Beitrag von Loron »

Hi!

habe mir den neue JTG Snapshot (23.01.2009) auf die Dbox gespielt (da soll der neue Movieplayer drin sein).
Wie kann ich eine MPG-Datei abspielen? Geht das schon über die GUI? Oder muss ich da noch etwas von "Hand" einstellen?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: MPEG abspielen ohne VLC

Beitrag von seife »

Exakt genau so wie eine TS-Datei.
Loron
Neugieriger
Neugieriger
Beiträge: 16
Registriert: Samstag 2. Dezember 2006, 15:33

Re: MPEG abspielen ohne VLC

Beitrag von Loron »

seife hat geschrieben:Exakt genau so wie eine TS-Datei.
Hi!

Genau das hatte ich mir auch gedacht..aber dann wird der TV schwarz und nichts passiert mehr.
Versuche es aber noch einmal.
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Re: MPEG abspielen ohne VLC

Beitrag von -=HSKc=-Robby »

@Loron:
Im JtG-Snap vom 23.01.09 ist nicht der Movieplayer2 von seife enthalten, es sind nur Fehler mit dem TS-Archiv behoben. Den Movieplayer2 findest Du im Test-Snap vom 11.01.09, heißt ja auch Mplayer2-Test :wink:
Loron
Neugieriger
Neugieriger
Beiträge: 16
Registriert: Samstag 2. Dezember 2006, 15:33

Re: MPEG abspielen ohne VLC

Beitrag von Loron »

Ahh..Ok dann habe ich das irgendwie missverstanden. Würde den Player aber trotzdem mal probieren. Dann muss ich das Test-Snapshot mal suchen..im normalem Forum ist das nicht zu finden.
Danke für die Infos!