Hallo ardi,
könnstest du den Quellcode irgendwo zur Verfügung stellen, oder hab ich was übersehen?
Danke
Andreas
Rasperry Pi xine plugin
-
-
Hier mal eine kleine Ankündigung (ich hoffe ich nehm den Mund nicht zu voll) ;D.
Die 2. Testversion wird (vorausgesetzt der komische assertion-failure-Fehler ist dann weg):
- sich umschalten lassen
- aspect ratio wird beachtet
- TV-ratio (16:9 bzw. 4:3) wird einstellbar sein. (Hintergrund: Ausgaben über TV-Out (PAL) sind immer 720x576 = 4:3 auch wenn ein 16:9 TV angestöpselt ist)
- autocrop wird funktionieren (4:3 Sendungen in Letterbox werden auf 16:9 geschnitten)
- Software-Deinterlacer können aktiviert werden (obwohl ich bezweifle, dass der RPI das schaffen wird)
Für die 3. Testversion ist dann geplant:- Hardware-Deinterlacer
- natürlich ganz wichtig, das OSD
- evtl. schon der Hardware-Sound-Decoder
Ich werde die 2. Testversion Heute oder Morgen bereitstellen.Ab Mittwoch bin ich dann erst einmal bis Sonntag im Urlaub.
ardi
-
Hallo,
ich habe dein Plugin mal unter Arch Linux ARM ausprobiert (Memory Split 256/256) .
vdr-fbfe liefert bei SD-Sendern (übers Netzwerk mit dem yaVDR verbunden) schon mal ein Bild, der Ton funktioniert noch nicht auf allen Sendern (evtl. ein Problem der analogen Ausgabe), scheint aber im kurzen Test keine Aussetzer zu haben. Bei SD-Sendern liegt die CPU-Last bei ca. 40%
Gibt es eine Empfehlung für eine config_xineliboutput?Beim Abspielen von MPEG2-SD Dateien mit fbxine habe ich zwar eine schön niedrige CPU-Last (ca. 30%) aber leider regelmäßig Dropped Frames, vermutlich weil Audio und Video auseinander laufen:
fbxine -A alsa -V rpi -d --verbose=3 /media/Video/VDR\(nfs\)/Filme/Das\ Wunder\ in\ der\ 8.\ Straße.mpg
Code
Alles anzeigenxine: found demuxer plugin: MPEG program stream demux plugin video discontinuity #1, type is 0, disc_off 0 waiting for audio discontinuity #1 audio discontinuity #1, type is 0, disc_off 0 waiting for in_discontinuity update #1 vpts adjusted with prebuffer to 128659 load_plugins: plugin rpi-MPEG will be used for video streamtype 00. load_plugins: plugin mad will be used for audio streamtype 01. audio_alsa_out:open pause_resume=0 output sample rate 48000 xine_play video discontinuity #2, type is 2, disc_off 22723 waiting for audio discontinuity #2 audio discontinuity #2, type is 2, disc_off 22723 waiting for in_discontinuity update #2 vpts adjusted with prebuffer to 142525 audio jump, diff=909 --------------------------- Create Engine vo_out_rpi: setup render ok vo_out_rpi: render activ Create Engine ok --------------------------- video jump play_internal ...done fixing sound card drift by -1878 pts video_out: throwing away image with pts 149524 because it's too old (diff : 3854). video_out: throwing away image with pts 153122 because it's too old (diff : 4343). video_out: throwing away image with pts 167514 because it's too old (diff : 5798). video_out: throwing away image with pts 174710 because it's too old (diff : 5063). fixing sound card drift by -1467 pts video_out: throwing away image with pts 349188 because it's too old (diff : 4002). video_out: throwing away image with pts 359838 because it's too old (diff : 19196). video_out: throwing away image with pts 363388 because it's too old (diff : 15646). video_out: throwing away image with pts 366948 because it's too old (diff : 12086). video_out: throwing away image with pts 370508 because it's too old (diff : 8526). video_out: throwing away image with pts 374068 because it's too old (diff : 4966). 200 frames delivered, 0 frames skipped, 10 frames discarded video_out: throwing away image with pts 2057614 because it's too old (diff : 3714). video_out: throwing away image with pts 2068408 because it's too old (diff : 16733). video_out: throwing away image with pts 2072006 because it's too old (diff : 13135). video_out: throwing away image with pts 2075604 because it's too old (diff : 9537). video_out: throwing away image with pts 2079202 because it's too old (diff : 5939). 200 frames delivered, 0 frames skipped, 5 frames discarded video_out: throwing away image with pts 3112408 because it's too old (diff : 5417). video_out: throwing away image with pts 3119608 because it's too old (diff : 26344). video_out: throwing away image with pts 3123208 because it's too old (diff : 22744). video_out: throwing away image with pts 3126808 because it's too old (diff : 19144). video_out: throwing away image with pts 3130409 because it's too old (diff : 15543). video_out: throwing away image with pts 3134010 because it's too old (diff : 11942). video_out: throwing away image with pts 3137611 because it's too old (diff : 8341). video_out: throwing away image with pts 3141212 because it's too old (diff : 4740). 200 frames delivered, 0 frames skipped, 8 frames discarded video_out: throwing away image with pts 4332807 because it's too old (diff : 4302). video_out: throwing away image with pts 4340009 because it's too old (diff : 22896). video_out: throwing away image with pts 4343610 because it's too old (diff : 19295). video_out: throwing away image with pts 4347211 because it's too old (diff : 15694). video_out: throwing away image with pts 4350812 because it's too old (diff : 12093). video_out: throwing away image with pts 4354413 because it's too old (diff : 8492). video_out: throwing away image with pts 4358014 because it's too old (diff : 4891). 200 frames delivered, 0 frames skipped, 7 frames discarded
Ich habe es noch nicht geschafft eine Video-Datei damit sauber wiedergeben zu lassen... -
Hallo,
hier also die versprochene 2. Testversion.
Alle Gestern versprochenen Features sind drin.
Das Autocrop konnte ich nicht testen, denn wenn man mal eine 4:3 Sendung in Letterbox braucht, dann kommt keine (sollte aber theoretisch funzen).
Auch der assertion-failure-Fehler wurde gefunden und behoben (ulkige Sache das )
Viel Spaß beim Testen
ardi
PS: wie gestern bereits gesagt, bin ich ab Morgen bis Sonntag nicht erreichbar.
-
Mit fbxine stimmt jetzt das Seitenverhältnis der Videos, aber leider wirft er immer noch Frames weg:
Code
Alles anzeigenvideo_out: throwing away image with pts 5712899 because it's too old (diff : 4544). video_out: throwing away image with pts 5731119 because it's too old (diff : 11962). video_out: throwing away image with pts 5734763 because it's too old (diff : 8318). video_out: throwing away image with pts 5738407 because it's too old (diff : 4674). 200 frames delivered, 0 frames skipped, 9 frames discarded video_out: throwing away image with pts 6250401 because it's too old (diff : 5722). video_out: throwing away image with pts 6257599 because it's too old (diff : 4561). 200 frames delivered, 0 frames skipped, 2 frames discarded video_out: throwing away image with pts 7082034 because it's too old (diff : 12302). video_out: throwing away image with pts 7085633 because it's too old (diff : 8703). video_out: throwing away image with pts 7089232 because it's too old (diff : 5104). 200 frames delivered, 0 frames skipped, 3 frames discarded video_out: throwing away image with pts 7791199 because it's too old (diff : 5690). video_out: throwing away image with pts 7798395 because it's too old (diff : 4484). video_out: throwing away image with pts 7809189 because it's too old (diff : 4896). video_out: throwing away image with pts 7816387 because it's too old (diff : 3798).
Mit vdr-fbfe stimmt das Seitenverhältnis bei 4:3 und 16:9. Das das Umschalten klappt zwischen den SD-Sendern mit Ton - bei extensivem Zappen bleibt er ab und an hängen:
Code[762] [input_vdr] wait_stream_sync: discard_index 303129320 != curpos 303127440 ! (diff 1880) [762] [input_vdr] queue_blank_yv12: invalid dimensions 0x0 in stream_info ! [761] [input_vdr] Control stream disconnected [762] [input_vdr] read_block: no data source, returning NULL
Bei HD-Sendern (720p) bekomme ich weder Bild noch Ton. Beim Umschalten auf Radiokanäle gibt es einen Segfault von vdr-fbfe.
Die Lautstärkeregelung muss ich noch über den alsamixer vornehmen, beim Beenden wir sie immer auf ein sehr niedriges Level zurückgesetzt.
Ich sehe das eingeblendete Test-OSD, aber nicht das des VDR (weder mit LCARS noch mit classic). -
Hallo ardi,
vielen Dank für die neue Version des Plugins.
Ich habe es jetzt kurz getestet, aber bei HD Kanälen funktioniert hier nix bzw. bricht ab.Naja, geniesse erstmal deinen Urlaub! Viel Spass und viel Erholung!
Gruß Uwe
Code
Alles anzeigen# vdr-fbfe -A alsa -V rpi xvdr://192.168.179.32 vdr-fbfe 1.0.90-cvs (build with xine-lib 1.2.2, using xine-lib 1.2.2) Audio driver: alsa Video driver: rpi VDR Server: xvdr://192.168.179.32 [2519] [vdr-fbfe] fbfe_display_open: failed to set /dev/tty to graphics mode [2519] [vdr-fbfe] (ERROR (xine_fbfe_frontend.c,178): Invalid argument) [2519] [input_vdr] Connecting (control) to tcp://192.168.179.32:37890 ... [2519] [input_vdr] Server greeting: VDR-2.0.1 xineliboutput-1.0.90-cvs READY [2519] [input_vdr] Connected (control) to tcp://192.168.179.32:37890 [2519] [input_vdr] connect_pipe_data_stream: client ip=0x1bb3a8c0 != server ip=0x20b3a8c0 ! [2519] [input_vdr] Connecting (data) to pipe:///var/lib/vdr/plugins/xineliboutput/pipes.12431/pipe.0 [2519] [input_vdr] Pipe not found [2519] [input_vdr] Data stream connection failed (PIPE) [2519] [input_vdr] Connecting (data) to udp://192.168.179.32 ... [2519] [input_vdr] Data stream connected (UDP) [2519] [input_vdr] WARNING: xine-engine setting "engine.buffers.audio_num_buffers":230 is too low for HD-playback! Please use values between 500-1000! Press Esc to exit [2535] [input_vdr] WARNING: xine-engine setting "engine.buffers.video_num_frames":15 is too small for some HD channels [2535] [input_vdr] vdr_flush_engine: playback is paused <0> [2536] [input_vdr] queue_blank_yv12: invalid dimensions 0x0 in stream_info ! vdr-fbfe: rpi_osd.c:79: rpi_osd_init: Assertion `this->surface != ((EGLSurface)0)' failed. Abgebrochen
-
Bei HD-Sendern (720p) bekomme ich weder Bild noch Ton. Beim Umschalten auf Radiokanäle gibt es einen Segfault von vdr-fbfe.
Die Lautstärkeregelung muss ich noch über den alsamixer vornehmen, beim Beenden wir sie immer auf ein sehr niedriges Level zurückgesetzt.
Ich sehe das eingeblendete Test-OSD, aber nicht das des VDR (weder mit LCARS noch mit classic).Außer das Test-Osd gibt's noch keins
-
Den Media-Player von xineliboutput habe ich auch grade ausprobiert - leider werden MPEG2-Dateien mit intermittierenden Bildhängern abgespielt. HD-h264 Dateien mag er nicht, da kommt dann z.B. sowas:
Code[3268] [input_vdr] ARGB OSD supported by video driver [3269] [demux_vdr] Header 00 00 00 (should be 0x000001 or 0x47) [3269] [input_vdr] No data in 8 seconds, queuing no signal image
Bei MP3-Dateien und Bildern gibt es einen Segfault. -
Sieht doch schon mal gut aus.
Umschalten von SD auf SD geht bei mir.Leider bekomme ich bei keinem HD Sender ein Bild.
Meistens:Code[2369] [input_vdr] WARNING: xine-engine setting "engine.buffers.video_num_frames":15 is too small for some HD channels vdr-fbfe: rpi_osd.c:79: rpi_osd_init: Assertion `this->surface != ((EGLSurface)0)' failed. Aborted
oderCode[2433] [input_vdr] WARNING: xine-engine setting "engine.buffers.video_num_frames":15 is too small for some HD channels Segmentation fault
Vielleicht hast Du ja Lust den Code noch vor Deinem Urlaub online zu stellen.
Würde mir das gerne mal ansehen.... -
Hi,
sehr interessantes Projekt! Ein echtes VDR OSD auf der RPi ist genau das was noch fehlt. vompserver auf der Dockstar und vompclient auf der RPi funktioniert so gut, dass die Umschaltzeiten durchaus mit dem eingebauten SAT Tuner in meinem LG 42LM660s vergleichbar sind, aber ich vermisse immer noch die EPG Anzeige vom VDR und die schönen Skins sowieso.Am Ende sollte das natürlich sich über die Fernbedienung vom Fernseher bedienen lassen. An welcher Stelle müsste denn diese CEC Funktionalität integriert werden? Vielleicht könnte man sich ja da schon mal parallel drum kümmern. Ich wäre durchaus bereit mich da mal ein wenig reinzuhängen, aber bin ich vermutlich weder von meiner verfügbaren Zeit noch Wissen der Richtige für diese Aufgabe.
Gruß Darkstar.
-
Ist das Plugin eigentlich RasPI spezifisch oder OpenGL ES 2.0 spezifisch?
Wenn letzteres, dann solltest Du den Namen noch mal überlegen. -
Vielleicht macht es auch sinn dieses Plugin "Openmax" zu nennen, und fürs osd dann ein neues zu erstellen z.B. OpenGL ES oder was auch immer du fürs OSD verwenden willst.
mfg Thomas
-
-
Was sind denn die erwarteten Verbesserungen? HD-Material läuft wie gehabt noch nicht und ich habe mit fbxine immer noch Bildhänger bei mpeg2-Dateien
fbxine
Code
Alles anzeigenvideo discontinuity #3, type is 2, disc_off 3128614 waiting for audio discontinuity #3 video jump video jump video jump video jump video jump video jump video jump video jump video jump video jump video jump video jump video jump video jump video jump video jump audio discontinuity #3, type is 2, disc_off 3128614 waiting for in_discontinuity update #3 audio jump, diff=116893 video_out: throwing away image with pts 3048657 because it's too old (diff : 21430). video_out: throwing away image with pts 3050457 because it's too old (diff : 19630). video_out: throwing away image with pts 3052257 because it's too old (diff : 17830). video_out: throwing away image with pts 3054057 because it's too old (diff : 16030). video_out: throwing away image with pts 3055857 because it's too old (diff : 14230). video_out: throwing away image with pts 3057657 because it's too old (diff : 12430). video_out: throwing away image with pts 3059457 because it's too old (diff : 10630). video_out: throwing away image with pts 3061257 because it's too old (diff : 8830). video_out: throwing away image with pts 3063057 because it's too old (diff : 7030). video_out: throwing away image with pts 3064857 because it's too old (diff : 5230). video_out: throwing away image with pts 3066657 because it's too old (diff : 3430). video jump fixing sound card drift by 3412 pts video_out: throwing away image with pts 3072057 because it's too old (diff : 46819). video_out: throwing away image with pts 3073857 because it's too old (diff : 45019). video_out: throwing away image with pts 3075657 because it's too old (diff : 43219). video_out: throwing away image with pts 3077457 because it's too old (diff : 41419). video_out: throwing away image with pts 3079257 because it's too old (diff : 39619). video_out: throwing away image with pts 3081057 because it's too old (diff : 37819). video_out: throwing away image with pts 3082857 because it's too old (diff : 36019). video_out: throwing away image with pts 3084657 because it's too old (diff : 34219). video_out: throwing away image with pts 3086457 because it's too old (diff : 32419). video_out: throwing away image with pts 3088257 because it's too old (diff : 30619). video_out: throwing away image with pts 3090057 because it's too old (diff : 28819). video_out: throwing away image with pts 3091857 because it's too old (diff : 27019). video_out: throwing away image with pts 3093657 because it's too old (diff : 25219). video_out: throwing away image with pts 3097257 because it's too old (diff : 26632). video_out: throwing away image with pts 3099057 because it's too old (diff : 24832). video_out: throwing away image with pts 3100857 because it's too old (diff : 23032). video_out: throwing away image with pts 3102657 because it's too old (diff : 21232). video_out: throwing away image with pts 3104457 because it's too old (diff : 19432). video_out: throwing away image with pts 3106257 because it's too old (diff : 17632). video_out: throwing away image with pts 3108057 because it's too old (diff : 15832). video_out: throwing away image with pts 3109857 because it's too old (diff : 14032). video_out: throwing away image with pts 3113457 because it's too old (diff : 14731). video_out: throwing away image with pts 3115257 because it's too old (diff : 12931). video_out: throwing away image with pts 3117057 because it's too old (diff : 11131). video_out: throwing away image with pts 3118857 because it's too old (diff : 9331). video_out: throwing away image with pts 3120657 because it's too old (diff : 7531). video_out: throwing away image with pts 3122457 because it's too old (diff : 5731). video jump
-
3. Testversion als Anhang im 1. Thread-Post
Nabend ardi,hier kommt es bei HD auch wieder zu abbrüchen..., SD funktioniert, aber mit sporadischen flackern im Bild nachdem das OSD sich ausgeblendet hat.
Ich starte das ganze über eine ssh putty Session .... also nicht direkt auf dem rpi mit usb tastatur .... Ist doch ok oder?Code
Alles anzeigenPress Esc to exit vdr-fbfe: rpi_osd.c:79: rpi_osd_init: Assertion `this->surface != ((EGLSurface)0)' failed. Abgebrochen root@raspberrypi:~/.xine# vdr-fbfe -A alsa -V rpi xvdr://192.168.179.32 vdr-fbfe 1.0.90-cvs (build with xine-lib 1.2.2, using xine-lib 1.2.2) Audio driver: alsa Video driver: rpi VDR Server: xvdr://192.168.179.32 [2519] [vdr-fbfe] fbfe_display_open: failed to set /dev/tty to graphics mode [2519] [vdr-fbfe] (ERROR (xine_fbfe_frontend.c,178): Invalid argument) [2519] [input_vdr] Connecting (control) to tcp://192.168.179.32:37890 ... [2519] [input_vdr] Server greeting: VDR-2.0.1 xineliboutput-1.0.90-cvs READY [2519] [input_vdr] Connected (control) to tcp://192.168.179.32:37890 [2519] [input_vdr] connect_pipe_data_stream: client ip=0x1bb3a8c0 != server ip=0x20b3a8c0 ! [2519] [input_vdr] Connecting (data) to pipe:///var/lib/vdr/plugins/xineliboutput/pipes.17604/pipe.0 [2519] [input_vdr] Pipe not found [2519] [input_vdr] Data stream connection failed (PIPE) [2519] [input_vdr] Connecting (data) to udp://192.168.179.32 ... [2519] [input_vdr] Data stream connected (UDP) Press Esc to exit vdr-fbfe: rpi_osd.c:79: rpi_osd_init: Assertion `this->surface != ((EGLSurface)0)' failed. Abgebrochen
-
Nabend ardi,hier kommt es bei HD auch wieder zu abbrüchen..., SD funktioniert, aber mit sporadischen flackern im Bild nachdem das OSD sich ausgeblendet hat.
Ich starte das ganze über eine ssh putty Session .... also nicht direkt auf dem rpi mit usb tastatur .... Ist doch ok oder?über ssh und putty ist o.k.
Monitor über HDMI oder Analog?
Was sind denn die erwarteten Verbesserungen? HD-Material läuft wie gehabt noch nicht und ich habe mit fbxine immer noch Bildhänger bei mpeg2-Dateien
Ich habe nur etwas am Buffer-Handling geschraubt. Kannst du mir mal einen Ausschnitt (ca.1-2 min) aus deiner mpeg2 Datei irgend wo hochladen?
ardi
-
-
Kannst du mir mal einen Ausschnitt (ca.1-2 min) aus deiner mpeg2 Datei irgend wo hochladen?
Ich habe grade gesehen, dass die Datei auch mit anderen Playern Fehler produziert - interessanterweise fängt das XBMC so gut ab, dass man es kaum bemerkt, aber da die Meldungen z.B. beim VLC-Player auch auftauchen scheint es nicht an deinem Plugin zu liegen. Den Link bekommst du gleich per PM. -
Über HDMI (Sound + VIdeo).Gruß Uwe
Memory-Split?
Ich habe grade gesehen, dass die Datei auch mit anderen Playern Fehler produziert - interessanterweise fängt das XBMC so gut ab, dass man es kaum bemerkt, aber da die Meldungen z.B. beim VLC-Player auch auftauchen scheint es nicht an deinem Plugin zu liegen. Den Link bekommst du gleich per PM.Dein Mpeg-Header sagt 50fps, es sind aber nur 25fps. Außerdem enthält die Datei einige Fehler. Ich habe das Plugin mal fest auf 25fps eingestellt und dann lief es (halbwegs)
ardi
-
Memory-Split?
gpu_mem=128 (512MB Ram insgesamt) -
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!