Movieplayer in Enigma

Alles rund um das grafische Benutzerinterface Enigma
hyper2
Interessierter
Interessierter
Beiträge: 40
Registriert: Donnerstag 27. September 2001, 00:00

Movieplayer in Enigma

Beitrag von hyper2 »

Wie kann ich einen Movieplayer in Enigma einbauen, um z.B VCDs oder MPEGs vom rechner zu gucken.
1xNokia 2xI Avia600
1xSagem 1xI Avia600
essu
Tuxboxer
Tuxboxer
Beiträge: 2452
Registriert: Montag 21. Oktober 2002, 10:04

Beitrag von essu »

Es gibt da dieses Plugin "Neutrino" ;)

Nee, im Ernst, würde mich auch freuen, wenn sich in dieser Richtung mal mehr tun würde, so soll ja z.B. TS-Recording/Playing im Prinzip möglich sein. Recording auf der dbox ist aber deaktiviert. Finde jetzt leider den entspr. thread nicht
Schon gelesen ???
ENIGMA-DOC
__Ghost__
Developer
Beiträge: 245
Registriert: Mittwoch 13. März 2002, 21:19

Beitrag von __Ghost__ »

Hi,

naja ist das alte Problem mit der Zeit...

Die zwei/drei Mann die was an enigma machen.. haben auch ne Dreambox.. und da geht das angesprochene ja.. und auf der dbox2 hat anscheinend keiner Lust mal was zu machen..

Ich habe keine Zeit.. und schon seit Ewigkeiten keine dbox2 mehr angeschlossen gehabt..

Selbiges dürfte für tmbinc gelten.. also bleibt da nicht mehr wirklich viel übrig ...

cya
gagga
Senior Member
Beiträge: 782
Registriert: Dienstag 25. Februar 2003, 21:35

Beitrag von gagga »

Und ich habe leider auch keine Zeit zusätzlich zu Neutrino den Movieplayer auch noch für Enigma zu bauen.
essu
Tuxboxer
Tuxboxer
Beiträge: 2452
Registriert: Montag 21. Oktober 2002, 10:04

Beitrag von essu »

@gagga:
Kannst du bitte mal kurz den Aufwand beschreiben, den Movieplayer Enigma-fähig zu machen. Ich denke, wenn grob umrissen ist, was zu tun ist, findet sich eher jemand.
Schon gelesen ???
ENIGMA-DOC
obi
Senior Member
Beiträge: 1282
Registriert: Montag 12. November 2001, 00:00

Beitrag von obi »

Code: Alles auswählen

Index: lib/dvb/servicedvb.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/enigma/lib/dvb/servicedvb.cpp,v
retrieving revision 1.30
diff -u -r1.30 servicedvb.cpp
--- lib/dvb/servicedvb.cpp	18 Jan 2004 23:49:24 -0000	1.30
+++ lib/dvb/servicedvb.cpp	14 Feb 2004 09:36:31 -0000
@@ -23,9 +23,11 @@
 #if HAVE_DVB_API_VERSION < 3
 #include <ost/audio.h>
 #define AUDIO_DEV "/dev/dvb/card0/audio0"
+#define DVR_DEV "/dev/pvr"
 #else
 #include <linux/dvb/audio.h>
 #define AUDIO_DEV "/dev/dvb/adapter0/audio0"
+#define DVR_DEV "/dev/dvb/adapter0/dvr0"
 #endif
 
 #ifndef DISABLE_FILE
@@ -39,9 +41,10 @@
 	int count=0;
 	seekbusy=0;
 	seeking=0;
+#if HAVE_DVB_API_VERSION < 3
 	do
 	{
-		dvrfd=::open("/dev/pvr", O_WRONLY|O_NONBLOCK); // TODO: change to /dev/dvb/dvr0 (but only when drivers support this!)
+		dvrfd=::open(DVR_DEV, O_WRONLY|O_NONBLOCK); // TODO: change to /dev/dvb/dvr0 (but only when drivers support this!)
 		if (dvrfd < 0)
 		{
 			if ( errno == EBUSY )
@@ -53,12 +56,18 @@
 					continue;
 				}
 			}
-			eDebug("couldn't open /dev/pvr - buy the new $$$ box and load pvr.o! (%m)");
+			eDebug("couldn't open %s - buy the new $$$ box and load pvr.o! (%m)", DVR_DEV);
 			state=stateError;
 		}
 		break;
 	}
 	while( dvrfd < 0 );
+#else
+	if ((dvrfd = ::open(DVR_DEV, O_WRONLY|O_NONBLOCK)) == -1) {
+		perror(DVR_DEV);
+		state=stateError;
+	}
+#endif
 	
 	outputsn=new eSocketNotifier(this, dvrfd, eSocketNotifier::Write, 0);
 	CONNECT(outputsn->activated, eDVRPlayerThread::outputReady);
@@ -192,8 +201,10 @@
 
 void eDVRPlayerThread::dvrFlush()
 {
+#if HAVE_DVB_API_VERSION < 3
 	if ( ::ioctl(dvrfd, 0)< 0 )
 		eDebug("PVR_FLUSH_BUFFER failed (%m)");
+#endif
 	Decoder::flushBuffer();
 }

http://dbox2dev.eseven.de/enigma_dvr.diff

keine ahnung, ob mehr noetig ist, was damit geht, was nicht geht usw.
gagga
Senior Member
Beiträge: 782
Registriert: Dienstag 25. Februar 2003, 21:35

Beitrag von gagga »

Eigentlich geht es nur um das User Interface. Mehr habe ich ja auch nie gemacht.
Anderes wie z.B. den Ringbuffer, die Kontrolle des VLC über das HTTP Interface etc. kann man ja aus dem Neutrino Movieplayer abkupfern.
essu
Tuxboxer
Tuxboxer
Beiträge: 2452
Registriert: Montag 21. Oktober 2002, 10:04

Beitrag von essu »

Danke euch beiden.

Na, dann ... ;)
Schon gelesen ???
ENIGMA-DOC
essu
Tuxboxer
Tuxboxer
Beiträge: 2452
Registriert: Montag 21. Oktober 2002, 10:04

Beitrag von essu »

obi hat geschrieben: http://dbox2dev.eseven.de/enigma_dvr.diff

keine ahnung, ob mehr noetig ist, was damit geht, was nicht geht usw.
...offensichtlich ist das noch nicht alles. Ich hab jetzt mal ein Image mit diesem Patch erstellt, zwar wird DVR-Aufnahme im Menü sichtbar, aber die Aufnahme funktioniert noch nicht. Das Abspielen geht, allerdings ziemlich hakelig.

@lucgas:
Vielleicht kannst du ja mal die weiteren Änderungsschritte erklären, im Übrigen funktionierte die Aufnahme bei mir (Philips) so gut, dass ich keinen Grund sehe sie nicht ins CVS zu übernehmen...
Schon gelesen ???
ENIGMA-DOC
ICETEA
Neugieriger
Neugieriger
Beiträge: 15
Registriert: Montag 23. September 2002, 17:49

Beitrag von ICETEA »

da aufnahme/wiedergabe mit Neutrino ja nun problemlos funktioniert, wie sieht es denn mit Enigma aus...
essu
Tuxboxer
Tuxboxer
Beiträge: 2452
Registriert: Montag 21. Oktober 2002, 10:04

Beitrag von essu »

ICETEA hat geschrieben:da aufnahme/wiedergabe mit Neutrino ja nun[...]
btw: TS-Streaming ging mit Enigma schon, bevor es mit Neutrino ging ;)

http://forum.tuxbox-cvs.sourceforge.net ... p?p=200584
Schon gelesen ???
ENIGMA-DOC
ICETEA
Neugieriger
Neugieriger
Beiträge: 15
Registriert: Montag 23. September 2002, 17:49

Beitrag von ICETEA »

ja, schon klar, wenn man denn ein Image benutzt, ist ja aber noch nicht im CVS angekommen
also geht es noch nicht, wenn man die box per netboot startet
essu
Tuxboxer
Tuxboxer
Beiträge: 2452
Registriert: Montag 21. Oktober 2002, 10:04

Beitrag von essu »

Code: Alles auswählen

--- info.cpp	2004-05-04 00:06:05.000000000 +0200
+++ info.cpp.dvr	2004-05-04 00:09:04.000000000 +0200
@@ -113,7 +113,8 @@
 			cpustr="STB04500, 252MHz";
 			break;
 		case TUXBOX_SUBMODEL_DBOX2:
-			defaulttimertype=ePlaylistEntry::RecTimerEntry|ePlaylistEntry::recNgrab;
+			defaulttimertype=ePlaylistEntry::RecTimerEntry|ePlaylistEntry::recDVR;
+			canrecordts = 1;
 			caids.insert(0x1702);
 			caids.insert(0x1722);
 			caids.insert(0x1762);

Code: Alles auswählen

--- ../../../../tuxbox-cvs/apps/tuxbox/enigma/lib/dvb/servicedvb.cpp.orig	2004-02-28 20:48:16.000000000 +0100
+++ ../../../../../ideas/diffs/servicedvb.cpp.neu	2004-04-04 12:20:46.000000000 +0200
@@ -24,7 +24,9 @@
 #include <ost/audio.h>
 #define AUDIO_DEV "/dev/dvb/card0/audio0"
+#define DVR_DEV "/dev/pvr"
 #else
 #include <linux/dvb/audio.h>
 #define AUDIO_DEV "/dev/dvb/adapter0/audio0"
+#define DVR_DEV "/dev/dvb/adapter0/dvr0"
 #endif

@@ -33,5 +35,5 @@

 eDVRPlayerThread::eDVRPlayerThread(const char *_filename, eServiceHandlerDVB *handler, int livemode )
-	:handler(handler), buffer(64*1024), livemode(livemode), liveupdatetimer(this), lock(), messages(this, 1)
+	:handler(handler), buffer(348*188*10), livemode(livemode), liveupdatetimer(this), lock(), messages(this, 1)
 {
 	state=stateInit;
@@ -99,5 +101,5 @@
 	CONNECT(messages.recv_msg, eDVRPlayerThread::gotMessage);

-	maxBufferSize=256*1024;
+	maxBufferSize=128*1024;

 	speed=1;
@@ -153,5 +155,5 @@
 {
 	(void)what;
-	seekbusy-=buffer.tofile(dvrfd, 65536);
+	seekbusy-=buffer.tofile(dvrfd, 348*188);
 	if (seekbusy < 0)
 		seekbusy=0;
@@ -235,5 +237,5 @@
 	}

-	if (((state == stateBuffering) && (buffer.size()>16384)) || flushbuffer)
+	if (((state == stateBuffering) && (buffer.size()>100000)) || flushbuffer)
 	{
 		state=statePlaying;
vllt hilft dir das...
und /hdd/movie sollte existieren
Schon gelesen ???
ENIGMA-DOC
ICETEA
Neugieriger
Neugieriger
Beiträge: 15
Registriert: Montag 23. September 2002, 17:49

Beitrag von ICETEA »

danke essu,
das hat geholfen, funkioniert ja schon fast perfekt
essu
Tuxboxer
Tuxboxer
Beiträge: 2452
Registriert: Montag 21. Oktober 2002, 10:04

Beitrag von essu »

ICETEA hat geschrieben:... funkioniert ja schon fast perfekt
Nochmal der kleine Hinweis: Ts-Recording funktioniert unter Enigma schon länger als in Neutrino, nur schade, dass es noch nicht ins CVS übernommen wurde, denn wenn es nur als Patch existiert macht sich auch niemand die Mühe es weiter zu entwickeln :(
Schon gelesen ???
ENIGMA-DOC
ICETEA
Neugieriger
Neugieriger
Beiträge: 15
Registriert: Montag 23. September 2002, 17:49

Beitrag von ICETEA »

ja, das ist schade, das es nicht übernommen wird, aber warum nicht?
essu
Tuxboxer
Tuxboxer
Beiträge: 2452
Registriert: Montag 21. Oktober 2002, 10:04

Beitrag von essu »

Ich weiss auch nicht. Es ist ja bei diesen Patches dabei:
http://forum.tuxbox-cvs.sourceforge.net ... 633#207633

Vllt sollte ich die Patches mal digi_casi schicken, der committed doch recht oft ;)
Schon gelesen ???
ENIGMA-DOC
essu
Tuxboxer
Tuxboxer
Beiträge: 2452
Registriert: Montag 21. Oktober 2002, 10:04

Beitrag von essu »

<räusper>hmmhmm</räusper>
Schon gelesen ???
ENIGMA-DOC
keks88
Interessierter
Interessierter
Beiträge: 41
Registriert: Freitag 27. August 2004, 00:50

Beitrag von keks88 »

Hi @ all

Da gibts schon ein plugin aus dreamscene die auch (teilweise) auf die dbox2 läuft. müßte vielleicht nur noch ein wenig angepasst werden !
Plugin funktioniert nachm gleichen Prinzip wie unter neutrino. Die streams werden mit VLC zum box geschickt !

Gruß
Keks
HEAD
Einsteiger
Einsteiger
Beiträge: 313
Registriert: Freitag 14. Februar 2003, 15:59

Beitrag von HEAD »

essu hat geschrieben:<räusper>hmmhmm</räusper>
lol
keks88
Interessierter
Interessierter
Beiträge: 41
Registriert: Freitag 27. August 2004, 00:50

Beitrag von keks88 »

Neue Beta vom vlc client ist da und soll auch auf die dbox2 mit enigma laufen !

HIER[/url]
essu
Tuxboxer
Tuxboxer
Beiträge: 2452
Registriert: Montag 21. Oktober 2002, 10:04

Beitrag von essu »

Grundsätzlich läuft es, Einstellungen, Dateiauswahl etc. funktionieren. Was mir noch nicht geglückt ist, ist es einen Film abzuspielen. Im Log gab es haufenweise

Code: Alles auswählen

Buffer Overflow
Müsste für die dbox2 vllt nochj angepasst werden
Schon gelesen ???
ENIGMA-DOC