mplayer Problem: video0 Device or Resource busy

  • Hi,


    bei mir klappt das mplayer Plugin nicht und ich hab den Fehler bis dahin getrackt, dass mplayer nicht auf die DVB Karte zugreifen kann solange vdr läuft.


    Ich habe den DVB-Treiber vom 11.6.2003 und vdr-1.2.1 und aktuelle CVS (2.7.2003) von mplayer und das mp3-mplayer Plugin 0.8.0.


    Wenn vdr nicht läuft funktionert zB:


    mplayer -vo mpegpes -vc mpegpes "/var/spool/mplayer/Lisa_gesamt.mpg"


    Wenn aber vdr gestartet ist, dann bekomme ich folgende Meldung:
    mplayer -vo mpegpes -vc mpegpes "/var/spool/mplayer/Lisa_gesamt.mpg"
    Using GNU internationalization
    Original domain: messages
    Original dirname: /usr/share/locale
    Current domain: mplayer
    Current dirname: /usr/share/locale



    MPlayer dev-CVS-030702-18:19-2.95.3 (C) 2000-2003 Árpád Gereöffy (see DOCS)


    CPU: Advanced Micro Devices Athlon TB Thunderbird (Family: 6, Stepping: 2)
    Detected cache-line size is 64 bytes
    CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
    Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx


    Reading config file /usr/etc/mplayer/mplayer.conf: No such file or directory
    Reading config file /root/.mplayer/config
    Reading /root/.mplayer/codecs.conf: can't open '/root/.mplayer/codecs.conf': No such file or directory
    Reading /usr/etc/mplayer/codecs.conf: 60 audio & 149 video codecs
    font: can't open file: /root/.mplayer/font/font.desc
    Font /usr/share/mplayer/font/font.desc loaded successfully! (206 chars)
    Using Linux hardware RTC timing (1024Hz).
    Can't open input config file /root/.mplayer/input.conf : No such file or directory
    Can't open input config file /usr/etc/mplayer/input.conf : No such file or directory
    Falling back on default (hardcoded) input config
    Setting up LIRC support...
    mplayer: could not open config file
    mplayer: No such file or directory
    Failed to read LIRC config file ~/.lircrc.
    You will not be able to use your remote control.


    Playing /var/spool/mplayer/Lisa_gesamt.mpg
    MPEG-PS file format detected.
    VIDEO: MPEG1 352x288 (aspect 8) 25.00 fps 1150.0 kbps (143.8 kbyte/s)
    ==========================================================================
    Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
    MP3lib: init layer2&3 finished, tables done
    AUDIO: 44100 Hz, 2 ch, 16 bit (0x10), ratio: 28000->176400 (224.0 kbit)
    Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
    ==========================================================================
    Opening /dev/dvb/adapter0/video0+audio0
    DVB VIDEO DEVICE: : Device or resource busy
    Error opening/initializing the selected video_out (-vo) device.



    Die Analyse mit strace bringt das gleiche Ergebnis:
    open("/dev/dvb/adapter0/video0", O_RDWR|O_LARGEFILE) = -1 EBUSY (Device or resource busy)



    und mit fuser sehe ich, dass vdr das Device benutzt:
    linux:/usr/bin # fuser -v /dev/dvb/adapter0/video0


    USER PID ACCESS COMMAND
    /dev/dvb/adapter0/video0
    root 12633 f.... vdr
    root 12635 f.... vdr
    root 12636 f.... vdr
    root 12637 f.... vdr
    root 12638 f.... vdr
    root 12639 f.... vdr




    Ich frage mich nun, wie mplayer und vdr überhaupt zusammen funktionieren können???



    Danke
    Grasl

  • Habe gerade das gleiche Problem.


    Benutze aber schon mplayer.sh-0.8.3.tar.gz.


    Hat noch jemand 'ne Idee wie man das lösen kann.


    Wenn vdr gestopped ist kann ich videos mit dem mplayer.sh script oder direct über die commandline ansehen....
    Liegt also and der VDR integration.


    Eine Sache die mir aufgefallen ist:
    Beim mplayer configure gib't beim "Checking for DVB": no" aber "Checking for DVB HEAD: yes". Habe bei " --with-extraincdir" "/usr/src/DVB/include/" angeben.
    Aber im configure.log steht beim "Checking for DVB" :
    gcc -I/usr/src/DVB/include/ /tmp/mplayer-conf-29418-2737.c -o /tmp/mplayer-conf-22283-2737.o
    /tmp/mplayer-conf-29418-2737.c:7:21: ost/dmx.h: No such file or directory
    /tmp/mplayer-conf-29418-2737.c:8:26: ost/frontend.h: No such file or directory
    /tmp/mplayer-conf-29418-2737.c:9:21: ost/sec.h: No such file or directory
    /tmp/mplayer-conf-29418-2737.c:10:23: ost/video.h: No such file or directory
    /tmp/mplayer-conf-29418-2737.c:11:23: ost/audio.h: No such file or directory


    Ist das die Ursache?


    Bye
    John


    • VDR#1: CoolerMaster ATX-620, MR Fortron 350 Watt ichbinleise®, FSC 1562, Celeron 2GHz, 256 MB, HD400LD, silentmaxx HD-silencer, LG GSA-4160B, Nexus-S, IR rev.4 von hirc, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1

    • VDR#2: passiv Gehäuse von Hewlett600, VIA MII-12000, 256 MB, HD400LD, TT 1.5, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1


  • Ich hatte das gleiche Problem, konnte es aber Dank eine Tipps
    von einem Freund (Dirk Wiebel) loesen.
    Der Problem haengt damit zusammen, dass bei zwei DVB Karten versucht wird
    die "falsche" zu oeffnen.
    Der Einfachheit halber hab ich mal ein diff erstellt:


    Code
    cd /usr/local/src/MPlayer-0.91;patch -p1 </da/wo/der/patch/liegt/mplayer-0.91.diff


    Bei mir laeufts so astrein ;-}


    John Difool: Hast du evtl. noch eine Idee, warum bei dir
    der Hermes ohne rebbot aufwacht, bei mir dagegen nicht ?
    siehe mein post

  • Hi jowel,


    habe nur eine Hauppauge Karte installiert. Aber ich check mal. Danke


    Wegen nvram, würde gerne weiterhelfen, ABER...
    habe am Wochenende eine Floppy eingebaut und dabei ging ein Kondensator ab <PANIK>.
    Habe dann geteste, das einzige was nun nicht mehr geht ist nvram wakeup....
    Ist aber nicht schlimm, da ich eh vorhabe das Teil 24h laufen zu lassen, wegen Frau und Kind...


    Sorry
    John


    • VDR#1: CoolerMaster ATX-620, MR Fortron 350 Watt ichbinleise®, FSC 1562, Celeron 2GHz, 256 MB, HD400LD, silentmaxx HD-silencer, LG GSA-4160B, Nexus-S, IR rev.4 von hirc, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1

    • VDR#2: passiv Gehäuse von Hewlett600, VIA MII-12000, 256 MB, HD400LD, TT 1.5, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1

  • Hi jowel,


    ich würde aber mal sagen die DVB Karte läuft als 0.


    Jedenfalls steht das hier in /var/log/messages:
    Sep 2 20:34:40 animah kernel: Linux video capture interface: v1.00
    Sep 2 20:34:40 animah kernel: DVB: registering new adapter (Technotrend/Hauppauge PCI rev2.1 or 2.2).
    Sep 2 20:34:40 animah kernel: DVB: AV7111(0) - firm f0240009, rtsl b0250018, vid 71010068, app 80002600
    Sep 2 20:34:40 animah kernel: DVB: AV7111(0) - firmware supports CI link layer interface
    Sep 2 20:34:40 animah kernel: stv0299.c: setup for tuner BSRU6, TDQB-S00x
    Sep 2 20:34:40 animah kernel: DVB: registering frontend 0:0 (STV0299/TSA5059/SL1935 based)...


    Bzw das:
    Sep 2 20:28:21 animah vdr[869]: probing /dev/dvb/adapter0/frontend0
    Sep 2 20:28:21 animah vdr[880]: SectionsScanner processing thread started (pid=880)
    Sep 2 20:28:22 animah vdr[883]: tuner thread started on device 1 (pid=883)
    Sep 2 20:28:22 animah vdr[869]: probing /dev/dvb/adapter1/frontend0
    Sep 2 20:28:22 animah vdr[869]: found 1 video device


    Würde das so interpretieren das der apapter0 benutz wird.


    Ferner verhält es sich ja so das der MPlayer sauber auf den Bildschirm ausgibt wenn vdr beendet ist.


    Nur wenn vdr läuft und ich das mplayer plugin versuche sehe ich:


    Aug 31 23:05:33 animah vdr[1572]: mplayer: mplayer child started (pid=1572)
    Aug 31 23:05:33 animah vdr[1573]: mplayer: player thread started (pid=1573)
    Aug 31 23:05:33 animah vdr[1573]: mplayer: player thread ended (pid=1573)


    Also scheint es am Zusammenspiel vdr mit mplayer zu liegen.


    Bye
    John


    • VDR#1: CoolerMaster ATX-620, MR Fortron 350 Watt ichbinleise®, FSC 1562, Celeron 2GHz, 256 MB, HD400LD, silentmaxx HD-silencer, LG GSA-4160B, Nexus-S, IR rev.4 von hirc, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1

    • VDR#2: passiv Gehäuse von Hewlett600, VIA MII-12000, 256 MB, HD400LD, TT 1.5, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1


  • Ich denke du hast recht. Als Erklaerung bleibt mir dann:
    Vielleicht macht vdr kein close auf /dev/dvb/adapter0/frontend0,
    wenn mplayer gestartet werden soll. Das wuerde bedeuten,
    dass das mplayer plugin prinzipiell nur mit zwei Karten verwendet
    werden kann. Kann das jemand bestaetigen ?


    Sollte man mal beim Author nachfragen.
    Da ich ein zwei-Karten System habe, hat der von mir gepostete patch
    die Loesung gebracht.


    Gruss,
    Joachim

    [size=11]

    AmateurCall: DF9SR, VDR: yaVDR-0.3a @ZOTAC-IONITX-PE,MystiqueSatixS2dual,IntelSSD-80GB,Samsung-2TB,picoPSU90

  • Hab's jetzt am laufen...


    Hab die die dvb devices mittels script neu anlegen lassen, dann das dvb plugin neu konfiguriert nachdem ich das script auf die suse umgebung angespasst habe (vorher habe ich die parameter übergeben). Dann das mplayer.sh script nochmals runtergeladen und entpackt. Und zum schluss das suse /etc/sysconfig/vdr file für das mplayer plugin konfiguriert.


    Und siehe da es tut's.


    Bye
    John


    • VDR#1: CoolerMaster ATX-620, MR Fortron 350 Watt ichbinleise®, FSC 1562, Celeron 2GHz, 256 MB, HD400LD, silentmaxx HD-silencer, LG GSA-4160B, Nexus-S, IR rev.4 von hirc, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1

    • VDR#2: passiv Gehäuse von Hewlett600, VIA MII-12000, 256 MB, HD400LD, TT 1.5, One-For-All URC-7040, Debian Etch, vdr 1.6.0-8ctvdr1


  • Ich benutze die Ct Debian Distri mit einer DVB Karte und habe jetzt auch dieses Problem.
    Funzt alles super bis auf den Mplayer. Da ich recht neu in Sachen Linux bin kannst du mir deinen Lösungsweg noch einmal etwas genauer beschreiben ?
    Wie kann ich den VDR eigentlich beenden ,so das ich einmal testen könnte ob die DVB ausgabe wenigstens bei gestopptem VDR funktioniert.


    Das neueste mplayer.sh habe ich schon ausprobiert , bringt aber leider nichts.
    Achja, ich benutze den MPlayer 1.0pre2 , den MPlayer V. 0.92 habe ich davor benutzt , gleiches Ergebnis.


    Thx ?(

  • Hi Leuts!


    Es läuft jetzt !


    Aus irgendeinem Grund ist es tatsächlich so das bei gestartetem VDR das DVB device belegt ist und nicht von Mplayer benutzt werden kann!
    Habe dann einfach mal VDR gekillt und das Ganze nochmal versucht ....siehe da, es funktioniert einwandfrei.
    Da ich ja die CT distri mit debian benutze habe ich einfach mal folgendes gemacht:


    mit apt-cache search vdr-plugin und dann apt-get install vdr-plugin-mp3
    das mp3 bzw. MPlayer plugin installiert.


    Rechner neugestartet.


    In /etc/vdr/plugins die Datei mplayersources um den Eintrag
    /cdrom;CDROM;2 ergänzt.


    Rechner neugestartet ***("Widows angewohnheit")***


    Versucht über den jetzt vorhandenen Menüeintrag Mplayer im Basismenü von VDR einen DivX abzuspielen .... mist ....Bild wird kurz schwarz dann wird wieder zurückgeschaltet auf TV Bild.
    Und warum das jetzt ???
    Ganz einfach:
    Meine vdrmplayer.sh.conf geht davon aus das sich mein MPlayer in /usr/bin/mplayer befindet.
    Der MPlayer befindet sich bei mir jedoch in /usr/local/bin/mplayer !
    Also vdrmplayer.sh.conf dementsprechend abgeändert und gespeichert.


    Versucht DivX abzuspielen .... aha funktioniert jetzt.
    Leider ruckelt das Video nun fürchterlich was ich wohl meinem AMD 500 mit nur 128 MB zu verdanken habe.(oder waren es sogar nur 64 MB ?...egal !)
    Daher hab ich noch den Kommentar in der vdrmplayer.sh.conf vor dem Eintrag Slow CPU entfernt und die Datei nochmals gespeichert.


    Das DivX läuft nun absolut ruckelfrei Ton und Bildqualität sind absolut OK. :)


    Ich hoffe ich konnte jemanden hiermit weiterhelfen.


    CU

  • Hallo,


    ich habe das gleiche Problem, allerdings stimmen bei mir die conf eintraege ! Und dennoch wird das Bild kurz schwarz und springt wieder zurueck !


    ich habe mal den Debug mode eingeschaltet, aber da steht nichts was auch nur annaehernd nach Fehler aussieht ! genausowenig in der messages/syslog ?????


    Hilfe ;)



    Nachtrag:


    Zitat

    Original von jowelDer Einfachheit halber hab ich mal ein diff erstellt:


    habe es gerade ausprobiert, das hat bei mir leider nicht geholfen !!


    komischerweise auch keine andere Fehlermeldung oder irgendwas anderes erzeugt`????


    hmmm


    Einmal editiert, zuletzt von Barracuda ()

  • Zitat

    Original von Barracuda



    habe es gerade ausprobiert, das hat bei mir leider nicht geholfen !!
    komischerweise auch keine andere Fehlermeldung oder irgendwas anderes erzeugt`????
    hmmm


    Vielleicht hast du ja noch ein weiteres mplayer binary irgendwo im PATH rumliegen.


    Was sagt denn ein:

    Code
    strings $(type -p mplayer)|grep -i /dev/dvb

    ?


    Joachim

    [size=11]

    AmateurCall: DF9SR, VDR: yaVDR-0.3a @ZOTAC-IONITX-PE,MystiqueSatixS2dual,IntelSSD-80GB,Samsung-2TB,picoPSU90

  • Zitat

    Original von jowel
    Was sagt denn ein:

    Code
    strings $(type -p mplayer)|grep -i /dev/dvb



    ? und was sagt mir das ?


    sieht komisch aus ... adapter0 1 2 UND 3 ???? eigenartig !


    Einmal editiert, zuletzt von Barracuda ()

  • Das zeigt, dass der mplayer, der in deinem Pfad liegt NICHT die Version mit dem patch von mir ist !


    Dort solltest du etwa folgendes sehen:

    Code
    vdr:~ # strings $(type -p mplayer)|grep -i /dev/dvb
    /dev/dvb/adapter1/video0
    /dev/dvb/adapter1/audio0
    Opening /dev/dvb/adapter1/video0+audio0


    Entscheidend ist, dass im Gegensatz zur Originalversion - wie im patch enthalten -
    "/dev/dvb/adapter1" statt "/dev/dvb/adapter0" einkompiliert ist.


    Also hast du entweder mehrere mplayer oder nach dem kompilieren den gepatchten nicht
    installiert.


    Gruss, Joachim

    [size=11]

    AmateurCall: DF9SR, VDR: yaVDR-0.3a @ZOTAC-IONITX-PE,MystiqueSatixS2dual,IntelSSD-80GB,Samsung-2TB,picoPSU90

  • Zitat

    Original von jowelEntscheidend ist, dass im Gegensatz zur Originalversion - wie im patch enthalten -
    "/dev/dvb/adapter1" statt "/dev/dvb/adapter0" einkompiliert ist.


    Also hast du entweder mehrere mplayer oder nach dem kompilieren den gepatchten nicht
    installiert.


    ?
    ich kann nicht ausschliessen, dass ich mehrere mplayer habe, auch wenn ich nicht weiss, wie die da hinkommen, habe das nach der ct anleitung gemacht.
    anschliessend multipatch drauf gemacht !
    seit dem geht es nicht mehr, allerdings habe ich versucht den mplayer erneut zu installieren ???


    WIE kriege ich das wieder weg ?


    Vielen Dank


  • Kann mir niemand helfen ?


    Wie bekomme ich mein mplayer wieder zum laufen ?


    Wie kann ich meinem mplayer sagen dass er den anderen adapter nutzen soll ?


  • Zitat

    Original von Barracuda
    ich kann nicht ausschliessen, dass ich mehrere mplayer habe, auch wenn ich nicht weiss, wie die da hinkommen, habe das nach der ct anleitung gemacht.
    anschliessend multipatch drauf gemacht !
    seit dem geht es nicht mehr, allerdings habe ich versucht den mplayer erneut zu installieren ???


    WIE kriege ich das wieder weg ?
    Vielen Dank


    Aus dem was du schreibst kann ich kaum nachvollziehen wie du ueberhaupt meinem patch angewendet haben willst.


    Nach dem patchen müßtest du per "./configure" sowie "make" compilieren.
    Und wenn das erfolgreich war per "make install" (oder checkinstall) installieren.
    Vorher (oder auch nachher) kann man leicht per "type mplayer" rauskriegen, wo der (erste in PATH gefundene) mplayer liegt.


    Mit ls -l $(type -p mplayer) läßt sich außerdem feststellen wann er installiert wurde. Und falls das durch
    ein rpm Packet erfolgte kann man sich weitere Details per "rpm -qilf $(type -p maplyer)| less"
    anzeigen lassen. Falls nicht kommt z.B. sowas:
    die Datei »/usr/local/bin/mplayer« gehört zu keinem Paket.


    Wenn du jetzt mehrere in unterschiedlichen Verzeichnissen hast, dann kannst du sie
    entweder erstmal vorsichtigerweise vorläufig umbenennen - z.B.
    mv /usr/local/bin/mplayer /usr/local/bin/mplayer.unused.


    Letztendlich wäre das Ziel, daß der gepachte mplayer der (erste) ist, der über die $PATH
    Variable gefunden wird.


    Irgendwie hab ich aber das Gefühl, daß dich dieser Weg evtl. überfordert, wenn du dich (noch)
    nicht so sicher auf deinem System bewegst. Dann wäre es vielleicht einfacher, jemand mit genau
    dem gleichen System baut dir ein rpm.


    Gruß, Jaochim

    [size=11]

    AmateurCall: DF9SR, VDR: yaVDR-0.3a @ZOTAC-IONITX-PE,MystiqueSatixS2dual,IntelSSD-80GB,Samsung-2TB,picoPSU90

  • jowel, zunächst vielen Dank für Deine Geduld


    Zitat

    Original von jowel
    Irgendwie hab ich aber das Gefühl, daß dich dieser Weg evtl. überfordert, wenn du dich (noch)
    nicht so sicher auf deinem System bewegst.


    damit hast Du wohl leider recht, :(


    Zitat

    Original von jowel
    Aus dem was du schreibst kann ich kaum nachvollziehen wie du ueberhaupt meinem patch angewendet haben willst.


    Nach dem patchen müßtest du per "./configure" sowie "make" compilieren.
    Und wenn das erfolgreich war per "make install" (oder checkinstall) installieren.


    oh, das habe ich nicht ?( wusste ich nicht
    dann KANN dein patch ja auch keine wirkung zeigen.


    ich habe deine diff in das file eingebaut und bin dann anhand der ct-anleitung die installation des mplayers noch einmal durchgegangen !


    Zitat

    Original von jowel
    Vorher (oder auch nachher) kann man leicht per "type mplayer" rauskriegen, wo der (erste in PATH gefundene) mplayer liegt.


    Code
    /# type mplayer
    mplayer is /usr/bin/mplayer


    Zitat

    Original von jowel
    ein rpm Packet erfolgte kann man sich weitere Details per


    ich habe die ct distri und multipatch, also(?) kein rpm


    Zitat

    Original von jowel
    Wenn du jetzt mehrere in unterschiedlichen Verzeichnissen hast, dann kannst du sie
    entweder erstmal vorsichtigerweise vorläufig umbenennen - z.B.
    mv /usr/local/bin/mplayer /usr/local/bin/mplayer.unused.


    habe ich nicht, ich habe ein verzeichnis /etc/mplayer/
    und in /usr/bin/ steht ein file namens mplayer, sonst habe ich noch ein paar CONF files und natürlich das verzeichnis; /root/MPlayer-1.0Pre2


    Zitat

    Original von jowel
    Letztendlich wäre das Ziel, daß der gepachte mplayer der (erste) ist, der über die $PATH
    Variable gefunden wird.


    :rolleyes:


    ich gestehe, ich b in gerade etwas ratlos.


    Muss ich, wenn ich den multipatch mplayer einsetze denn überhaupt diese installationsanleitung von der ct (mplayer) durchmachen ?


  • Zitat

    Original von jowelIrgendwie hab ich aber das Gefühl, daß dich dieser Weg evtl. überfordert, wenn du dich (noch)
    nicht so sicher auf deinem System bewegst. ...


    also das wollte ich ja nicht auf mir sitzen lassen ! 8)


    also habe ich mir das ganze nochmal genau angeschaut, ein bischen rumpatcht (ich habe das DIFF jetzt zu fuss in mein file eingearbeitet, schaetze das ist noch nicht optimal ?)
    compiliert, installiert und nochmal mplayer und mp3 reinstalliert ....
    however:


    Code
    :~/MPlayer-1.0pre2# strings $(type -p mplayer)|grep -i /dev/dvb
    Opening /dev/dvb/adapter1/video0+audio0
    /dev/dvb/adapter1/video0
    /dev/dvb/adapter1/audio0
    /dev/dvb/adapter3/frontend0


    MPLAYER LAEUFT jetzt wieder :)


    :welle


    DANKE nochmal, jowel


  • Zitat

    Original von Barracuda
    also das wollte ich ja nicht auf mir sitzen lassen ! 8)
    [...]
    MPLAYER LAEUFT jetzt wieder :)


    :welle


    DANKE nochmal, jowel


    Ich wollte dir nicht zu nahe treten, aber es ist manchmal wirklich
    nicht einfach den Ratsuchenden richtig einzuschaetzen um ihm bei vorgeschlagenen
    Loesungswegen nicht zu unter-/ueberfordern.


    Aus dem Detaillierungsgrad der Problembeschreibung versuche ich das in etwa
    abzuschaetzen.


    Wenn du das diff jetzt "zu Fuss" eingebaut hast ist das genauso ok. Habs ja selbst so
    geaendert.


    Aber freut mich, dass sich fuer dich/uns am Ende doch noch ein Erfolgserlebnis
    gezeigt hat ;-}


    Gruss, Joahcim

    [size=11]

    AmateurCall: DF9SR, VDR: yaVDR-0.3a @ZOTAC-IONITX-PE,MystiqueSatixS2dual,IntelSSD-80GB,Samsung-2TB,picoPSU90

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!