Das ging ja super schnell. Jetzt funktioniert alles.
Super!!!! Danke.....
Das ging ja super schnell. Jetzt funktioniert alles.
Super!!!! Danke.....
ich mach mal weiter.
Habe mittlerweile alle threads durchgelesen.
Habe aktuelle DVB-Treiber per HG gezogen und installiert.
So bin ich bisher vorgegangen.
cd /usr/local/src
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
svn checkout svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdread
svn checkout svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav
cd libdvdread
./configure2 --prefix=/usr --with-extraincdir=/usr/src/linux/include/
make all
make install
cd libdvdnav/
./configure2 --prefix=/usr --with-extraincdir=/usr/src/linux/include/
make all
make install
cp /usr/local/src/DVB/linux/include/linux/ivtv.h /usr/include/
cp /usr/local/src/DVB/linux/include/linux/videodev2.h /usr/include/
cp /usr/local/src/DVB/linux/include/linux/ivtvfb.h /usr/include/
nano /usr/include/linux/version.h
- #define LINUX_VERSION_CODE 132626
+ #define LINUX_VERSION_CODE 132632
cd mplayer
# patch -p1 < mplayer_vidix_ivtv_probe_20080714.diff
./configure --prefix=/usr --disable-x11 --disable-xinerama --disable-fbdev --disable-vesa \
--disable-tga --disable-jpeg --disable-ftp --disable-network --enable-runtime-cpudetection \
--disable-mencoder --enable-largefiles --disable-png --disable-smb --disable-gif --with-vidix-drivers=ivtv \
--enable-v4l2 --enable-ivtv --disable-dvdread-internal
# unknown parameter: --with-extraincdir=
make all
Alles anzeigen
Zuerst hatte ich normal den mplayer kompiliert. Lief alles durch, doch ein vidix Treiber wurde nicht gefunden. Dann habe ich versucht den von DocSeltsam angesprochen Patch einzuspielen. Musste aufgrund von Fails von Hand die ivtv_vid.c anpassen. Doch damit lieferte das Make nur wilde fehlermeldungen. Habe dann alles gelöscht und per svn die mplayersourcen neu geladen, doch jetzt kommt ein anderer Fehler .... versteh ich nicht...
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I. -D_REENTRANT -I/usr/local/include/directfb -I/usr/include/SDL -D_REENTRANT -I/usr/include -I/usr/include/freetype2 -I/usr/include -I/usr/include -DDVDNAV_USES_EXTERNAL_DVDREAD -c -o vidix/ivtv_vid.o vidix/ivtv_vid.c
vidix/ivtv_vid.c: In function 'ivtv_frame_sel':
vidix/ivtv_vid.c:505: error: storage size of 'args' isn't known
vidix/ivtv_vid.c:546: error: 'IVTV_IOC_DMA_FRAME' undeclared (first use in this function)
vidix/ivtv_vid.c:546: error: (Each undeclared identifier is reported only once
vidix/ivtv_vid.c:546: error: for each function it appears in.)
vidix/ivtv_vid.c:505: warning: unused variable 'args'
vidix/ivtv_vid.c: At top level:
vidix/ivtv_vid.c:559: warning: initialization from incompatible pointer type
make: *** [vidix/ivtv_vid.o] Fehler 1
EasyVDR:/usr/local/src/mplayer#
Alles anzeigen
ich hab mal das easyinfo angehangen...
zur info:
EasyVDR:/usr/local/src/mplayer# mplayer -vo help
MPlayer SVN-r29455-4.1.2 (C) 2000-2009 MPlayer Team
Available video output drivers:
sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
svga SVGAlib
aa AAlib
dxr3 DXR3/H+ video out
ivtv IVTV MPEG Video Decoder TV-Out
v4l2 V4L2 MPEG Video Decoder Output
directfb Direct Framebuffer Device
dfbmga DirectFB / Matrox G200/G400/G450/G550
cvidix console VIDIX
null Null video output
mpegpes MPEG-PES to DVB card
yuv4mpeg yuv4mpeg output for mjpegtools
pnm PPM/PGM/PGMYUV file
md5sum md5sum of each frame
115 audio & 238 video codecs
EasyVDR:/usr/local/src/mplayer# mplayer -vo cvidix -ao alsa /media/usb/Ext_Hard_Disk_1/divx/Eragon.avi
MPlayer SVN-r29455-4.1.2 (C) 2000-2009 MPlayer Team
115 audio & 238 video codecs
Playing /media/usb/Ext_Hard_Disk_1/divx/Eragon.avi.
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO: [XVID] 608x256 12bpp 25.000 fps 842.6 kbps (102.9 kbyte/s)
Clip info:
Software: VirtualDubMod 1.5.10.2 (build 2540/release)
vo_cvidix: No vidix driver name provided, probing available ones (-v option for details)!
vidixlib: PROBING: ivtv
[ivtv-vid] probe
[ivtv-vid] Found 13 pci devices
[ivtv-vid] Found PVR 350
[ivtv-vid] YUV device not found: /dev/video48
vidixlib: No suitable driver can be found.
[VO_SUB_VIDIX] Couldn't find working VIDIX driver.
Error opening/initializing the selected video_out (-vo) device.
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
mpg123: Can't rewind stream by 126 bits!
AUDIO: 48000 Hz, 2 ch, s16le, 80.0 kbit/5.21% (ratio: 10000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A: 5.1 (05.1) of 72752.2 (20:12:32.1) 1.8%
MPlayer interrupted by signal 2 in module: play_audio
A: 5.2 (05.1) of 72752.2 (20:12:32.1) 1.8%
Exiting... (Quit)
EasyVDR:/usr/local/src/mplayer#
Alles anzeigen
EasyVDR:/usr/local/src/mplayer# ll /dev/video*
85491 crw-rw---- 1 root video 81, 0 2009-07-29 19:57 /dev/video0
85685 crw-rw---- 1 root video 81, 2 2009-07-29 19:57 /dev/video1
85813 crw-rw---- 1 root video 81, 11 2009-07-29 19:57 /dev/video18
85784 crw-rw---- 1 root video 81, 6 2009-07-29 19:57 /dev/video2
85700 crw-rw---- 1 root video 81, 5 2009-07-29 19:57 /dev/video25
85799 crw-rw---- 1 root video 81, 9 2009-07-29 19:57 /dev/video26
85690 crw-rw---- 1 root video 81, 3 2009-07-29 19:57 /dev/video33
85789 crw-rw---- 1 root video 81, 7 2009-07-29 19:57 /dev/video34
85828 crw-rw---- 1 root video 81, 14 2009-07-29 19:57 /dev/video50
Hallo Tobias,
nimm --enable-ivtv unbedingt raus. Das ist für den alten ivtv-Treiber 0.10 gedacht. Dass es so überhaupt kompiliert, verdankst Du einer veralteten /usr/include/linux/ivtv.h
Damit sind wir auch schon beim zweiten Problem:
IVTV_IOC_DMA_FRAME ist in der aktuellen Version von ivtv.h definiert. Kopier die Datei einfach aus den hg-Treibern in /usr/include/linux.
Nach einem neuen configure (ohne --enable-ivtv) sollte dann alles klappen.
Zitatdoch ein vidix Treiber wurde nicht gefunden
beim Kompilieren oder beim Starten von mplayer?
Letzteres ist bei mehreren ivtv-Karten etwas tricky, wenn das yuv-device der PVR350 nicht dev/video48 wird. Der Patch von mini73
[announce]: mplayer für PVR350
müsste helfen. Du kannst mal versuchen, die von mir bereits gepatchte Datei aus PVR350 und Videodateien wieder mal zu verwenden. Mit etwas Glück passt die noch zum aktuellen mplayer-svn
HI Doc,
wer lesen kann ist klar im Vorteil Habe die ivtv.h und die anderen 2 Dateien nach /usr/include kopiert und nicht nach /usr/include/linux/.
Der Patch von Mini läuft leider nicht mehr so ohne weiteres durch, kommen fast nur FAILS.
Ich probier heute abend mal deine Version, bzw versuche von Hand den Patch umzusetzen.
Bin gestern abend nahe der VErzweifelung gewesen, völlig fertig weil es trotz stundenlangem Schlau-Lesen von Threads trotzdem nicht funktioniert hatte.
Achso, mit "VIDIX Treiber nicht gefunden" meinte ich beim Start vom Mplayer.
das -v ist m.E. überflüssig
Hörst Du einen Ton an den Soundkartenausgängen (ggf. Mixer hochdehen) ?
möglicherweise fehlt noch eine Einstellung am global alpha wert des ivtvfb framebuffers. (Das macht sonst das pvr350-Plugin).
Das wäre dann aber eher ein schwarzer Kasten im Bild. Dagegen hilft
v4l2-ctl --set-fmt-output-overlay=global_alpha=0
Ich rate nochmal dringend dazu, den Kernel upzudaten.
Moin!
Ich hab mal versucht, meinen Patch an das aktuelle mplayer-svn-trunk anzupassen. Kompilieren tut es, aber ob es funktioniert, weiß ich nicht.
Mutige vor...
mini.
HI Doc,
habe jetzt das aktuelle testing des pv350 plugins kompiliert.
http://drseltsam.device.name/v…vdr-pvr350-2009-03-26.tgz
jetzt startet der vdr ganz normal, keine FEhlermeldung o.ä., habe auch den Ton, aber nur ein schwarzes Bild, kein osd, nix.
(Identisch wenn ich das aktuelle stable-plugin benutze....)
der Trick in die /etc/vdr/setup.conf
pvr350.DeviceNumber=16
einzutragen hat auch nichts geholfen, das log sagt dann dass er den Parameter nicht kennt.
Irgendeine Idee??
EDIT: laut README habe ich die video.h in /usr/include/linux/dvb mit der neuesten ausgetauscht und das plugin neu kompiliert. Kann was damit zu tun haben oder nicht, jedenfalls findet das plugin die PVR350 nicht mehr. Mplayer funktioniert und findet die PVR350 (abgesehen vom schwarzen Bild dass ich nix sehe)
ICh häng mal das Log des VDR-Starts dran....
da läuft mit Sicherheit nicht die neueste Version des pvr350-Plugins.
IVTV_IOC_STOP_DECODE kommt da im Code nirgendwo mehr vor
Hi Doc,
kommando zurück. Es läuft. Habe die 350er von PCI Slot3 auf PCI Slot1 gesteckt und jetzt läuft es sofort. Keine Ahnung warum, aber es läuft.
jetzt muss ich nur noch schauen, warum der mplayer mir die Videos auf Full 4:3 aufzieht obwohl das ein 16:9 Video bzw eins mit schmalen schwarzen Balken oben und unten sein müsste....
Es ist ausgeschlossen, dass die 2009-03-26-Version des pvr350-Plugins solche Meldungen ausgibt:
pvr350: 07:10:33 pvr350: SetAudioChannelDevice is not implemented for ivtv driver version 0.10
pvr350: 07:10:33 pvr350: IVTV_IOC_STOP_DECODE error=9 during Clear()
der komplette Code für Treiberversion 0.10 wurde in dieser Plugin-Version entfernt.
Mir fiel noch etwas ein:
Schau mal in /lib/modules/2.6.22.15/kernel/drivers/media/video/ivtv
Wenn da neben ivtvfb.ko (das Du aus dem hg neu kompiliert hast) auch ivtv-fb.ko liegt, dann lösch das bitte und mach ein depmod. Du musst das auch in /etc/vdr/dvbdriver.load.default anpassen (statt ivtv_fb ivtvfb)
benutzt Du schon die angepasste mplayer.sh oder startetst Du den mplayer noch manuell von Konsole?
hi,
habe ich gelöscht und angepasst.
Ich benutze deine mplayer.sh(.conf) aus deinem aktuellen linvdr-mplayerpaket. ZurZEit behelfe ich mich damit manuell am TV 16:9 einzustellen
hast Du einen 16:9 TV, oder geht es Dir um die formatrichtige Wiedergabe von anarmorphem 16:9-Material auf einem 4:3 TV (mit Balken) ?
Was ist in den VDR-Einstellungen unter DVB eingestellt? 16:9 oder 4:3 ?
Was hast Du im pvr350-Plugin unter "WSS für pmExtern" eingestellt?
Was steht in der mplayer.sh.conf unter TV_ASPECT ?
hi doc,
danke für deine Hinweise.
- unter DVB stand 16/9
stelle ich um auf 4/3 (letterbox) zeigt auch mplayer die richtige größe
- unter "WSS für pmExtern" stand <nein>
stelle ich das auch auf <ja>, dann wird das bild im mplayer noch kleiner als original,
mplayer.sh.conf:
TV_ASPECT="auto"
Danke für deine Hilfe, jetzt funzt es
PS: ich stelle mal meine Anleitung ins EasyVDR Wiki ein, mit Verweis hierauf. Habe alles genau protokolliert....
wenn Du keinen 16:9 TV hast, ist 4:3 unter DVB im Prinzip richtig.
WSS für pmExtern=ja bewirkt, dass beim Starten des mplayer-Plugins der TV immer eine 16:9-Kennung bekommt. Damit kann unter Umständen aber auch ein 4:3 TV etwas anfangen. Bei einem 16:9 Signal werden alle Bildzeilen benutzt - der 4:3 müsste diese nun stauchen. Dabei kann die Bildqulität besser sein, als wenn mplayer das Bild runterrechnet (Balken einfügt).
mplayer sorgt selbst dafür, dass ein 4:3-Signal in diesem Fall so gequetscht wird, dass es durch die Behandlung des TVs wieder formatrichtig ist.
Um die Verwirrung komplett zu machen:
Das aktuelle mplayer.sh-Script enthält am Ende folgenden Abschnitt:
if grep -q "^pvr350.UseWssBits = 1" /etc/vdr/setup.conf; then
if test "$MONITORASPECT" == "-monitoraspect 16:9"; then
WSS="7";
echolog "*** INFO: Setting 16:9 wss bit"
else
WSS="8"
echolog "*** INFO: Setting 4:3 wss bit"
fi
exec /usr/bin/wss $WSS /dev/vbi$DEVICE &
fi
Alles anzeigen
Wobei MONITORASPECT wie folgt ermittelt wird:
# TV aspect ratio
if test "$TV_ASPECT" == "16/9"; then
MONITORASPECT="-monitoraspect 16:9";
elif test "$TV_ASPECT" == "auto"; then
if grep -q "^VideoFormat = 1" /etc/vdr/setup.conf; then
MONITORASPECT="-monitoraspect 16:9";
else
MONITORASPECT="-monitoraspect 4:3";
fi
else
MONITORASPECT="-monitoraspect 4:3";
fi
[/ode]
Hier wird das wss-Signal von einem separaten binary (siehe pvr350-Sourcen) erzeugt. Das beisst sich insoweit mit WSS für pmExtern, daher sollte letzteres deaktiviert werden, wenn man das binary wss benutzt. Hintergrund ist, dass ich erwäge, WSS für pmExtern aus dem pvr350-Plugin zu entfernen.
Und jetzt wird es ganz kriminell:
Das vbi-device ($DEVICE) für wss wird im aktuellen LinVDR-mplayer.sh-Script wie folgt ermittelt:
[code]
DEVICE="`grep -e "^pvr350\.DeviceNumber" /etc/vdr/setup.conf | sed -e 's/.*=\(.*\)/\1/g' -e 's/ //'`"
debugvar DEVICE $DEVICE
Alles anzeigen
das passt nun aber nicht mehr zur pvr350-testing-Version 2009-03-26, denn da habe ich den setup-Eintrag DeviceNumber zu Gunsten einer automatischen Erkennung entfernt.
Deswegen enthält meine allerneuste Version des mlayer.sh-Scriptes dafür eine Variable, die in der mplayer.sh.conf gesetzt werden kann.
Alles klar ?
du verwirrst mich
sobals die nächste stable rauskommt schau ich mir das neue mplayer-script mal an
sagmal, wo muss ich nachschauen, wenn das DVDSwich-Plugin (was ja das DVD-Plugin aufruft) für einige DVD´s (auf HDD) kein Ton abspielt??
Liegt es am AC3, DD etc?? (mit der FF-Karte hats funktioniert)
Um deine Frage vorweg zu nehmen, ich möchte das DVD-Plugin gerne verwenden da ich viele DVDs als Verzeichnisstruktur und nicht als Isos vorliegen habe. Die Isos mit Mplayer abzuspielen ist kein Problem (auch mit Ton) aber ich kann dem Mplayer nicht sagen "spiel das ganze VErzeichnis ab". Oder hab ich ne Eistellung übersehen??
keine Ahnung, das dvd-Plugin habe ich für die pvr350 abgehakt.
Das pvr350-Plugin enthält einen Konvertierungscode ac3 in mpeg2, aber mit vdr 1.7.8 wird das möglicherweise sowieso verschwinden, da es wegen des fehlenden repackers dann nicht mehr synchron läuft.
Die folgende Scripterweiterung meiner mplyer-pvr350.sh führt bei aktivierter DVDNAV-Option dazu, dass bei der Anwahl von Dateien, die im Namen "VIDEO_TS" oder "VTS_" enthalten (groß oder klein geschrieben), der übergeordnete Ordner mit dvdnav wiedergegeben wird
Die direkte Anwahl des VIDEO_TS im mplayer-Menü ist leider nicht möglich, da das halt einfach den Ordnerinhalt anzeigt.
Also: im mplayer-menü zum Film navigieren, VIDEO_TS-Ordner öffnen und irgendeine der darin befindlichen Dateien auswählen.
elif test "${SUFFIX}" == ".cue"; then
CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF cue://$FILE:2"
unset FILE
elif test "${SUFFIX}" == ".iso"; then
#elif if test \( "$SUFFIX" == ".img" -o "$SUFFIX" == ".iso" \); then
if $DVDNAV; then
CMDLINE="$MPLAYER -vo $VO -fs $AOUT $MONITORASPECT $DVDOPTIONS $FDSTR -nocache $AUDIO -alang de,en $REMOTE $USERDEF -dvd-device $FILE dvdnav://"
else
CMDLINE="$MPLAYER -vo $VO -fs $AOUT $MONITORASPECT $DVDOPTIONS $FDSTR $AUDIO -alang de $REMOTE $USERDEF dvd://$FILE"
fi
unset FILE
elif (( [[ "$FILE" == *VIDEO_TS* ]] [[ "$FILE" == *video_ts* ]] [[ "$FILE" == *VTS_* ]] [[ "$FILE" == *vts_* ]] ) && $DVDNAV ) ; then
d=$(dirname $FILE)
CMDLINE="$MPLAYER -vo $VO -fs $AOUT $MONITORASPECT $DVDOPTIONS $FDSTR -nocache $AUDIO -alang de,en $REMOTE $USERDEF -dvd-device $d dvdnav://"
unset FILE
unset d
else
# Try to determine the video attributes
hmm, was hab ich denn da für eine mplayer.sh version?? die passt ja zu deinem code überhaupt nicht.....
ersetze diesen Abschnitt
elif test "${SUFFIX}" == ".cue"; then
CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF cue://$FILE:2"
unset FILE
mit
elif test "${SUFFIX}" == ".cue"; then
CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF cue://$FILE:2"
unset FILE
elif test "${SUFFIX}" == ".iso"; then
#elif if test \( "$SUFFIX" == ".img" -o "$SUFFIX" == ".iso" \); then
if $DVDNAV; then
CMDLINE="$MPLAYER -vo $VO -fs $AOUT $MONITORASPECT $DVDOPTIONS $FDSTR -nocache $AUDIO -alang de,en $REMOTE $USERDEF -dvd-device $FILE dvdnav://"
else
CMDLINE="$MPLAYER -vo $VO -fs $AOUT $MONITORASPECT $DVDOPTIONS $FDSTR $AUDIO -alang de $REMOTE $USERDEF dvd://$FILE"
fi
unset FILE
elif (( [[ "$FILE" == *VIDEO_TS* ]] || [[ "$FILE" == *video_ts* ]] || [[ "$FILE" == *VTS_* ]] || [[ "$FILE" == *vts_* ]] ) && $DVDNAV ) ; then
d=$(dirname $FILE)
logger -s -- "$d"
CMDLINE="$MPLAYER -vo $VO -fs $AOUT $MONITORASPECT $DVDOPTIONS $FDSTR -nocache $AUDIO -alang de,en $REMOTE $USERDEF -dvd-device $d dvdnav://"
unset d
unset FILE
Alles anzeigen
Den Teil mit dem iso stammt aus einer Diskussion im Forum - war glaube ich mit Dir
und, läufts`s ?
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!