jojo61 Der Eintrag hilft bei mir auch nicht. Es ist sie, wie Dr. Seltsam sagt. Spielt man einmal in KODI einen Film ab, läuft VDR danach in 4K flüssig, was vorher nicht der Fall ist. Die Fernbedienung hakt undwenn man das OSD öffnet, hakt LiveTV für einen kurzen Moment. Es muss also noch etwas Anderes sein.
Installation eines VDR+Plugins nativ auf CoreELEC Boxen
-
-
Was mir nun noch fehlt ist ein Feedback von Zabrimus ob das löschen von pip0 und verzögern des rm all in der reinen CE Variante geholfen hat.
Nein. Leider nicht. Das pip0 ist immer noch vorhanden und damit auch die Kodi Probleme
-
Dr. Seltsam Ich habe meine vdr.sh so angepasst:
Bash
Alles anzeigen#!/bin/sh #killall splash-image #systemctl stop service.hyperion.ng.service #exit do_mount() { mount -t proc none /storage/UBUNTU/proc mount -o bind /dev /storage/UBUNTU/dev mount -o bind /dev/pts /storage/UBUNTU/dev/pts mount -o bind /sys /storage/UBUNTU/sys mount -o bind / /storage/UBUNTU/ce mount -o bind /storage /storage/UBUNTU/storage mount -o bind /run /storage/UBUNTU/run } [ ! -d "/storage/UBUNTU/dev/usb" ] && do_mount sleep 10 killall splash-image modprobe amlcm modprobe videobuf-res modprobe amlvideodri #switch off ambilight by default to save power systemctl stop service.hyperion.ng systemctl unmask kodi systemctl start kodi systemctl mask kodi sleep 3 # need to send 1 minute of video. otherwise amazon VOD will show artefacts kodi-send --action="PlayMedia(/storage/UBUNTU/vdr/do_not_delete.ts)" sleep 1 kodi-send --action=Stop systemctl stop kodi export PATH='/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin' chroot /storage/UBUNTU /home/rudi/runvdr & exit 0
Ich habe im vdr-Verzeichnis einen Filmschnipsel, den ich do_not_delete.ts genannt habe (VDR-Aufnahme reicht, mindestens 2 Sekunden). Den spiele ich eine Sekunde unter KODI und beende KODI dann, um den VDR zu starten. Das ist zwar nicht besonders hübsch, aber funktioniert.
-
nun wäre noch die Frage, ob jojo61 das zwar schnelle, aber unelegante Umschaltverhalten verbessern kann. Das neue Bild ist fast sofort da, läuft eine Sekunde, bleibt dann stehen und kurz danach geht es weiter. So war das Umschaltverhalten in den Anfängen einst bei softhddevice.
Ich habe mir heute einen Wolf gesucht und nochmal sys/class und sys/modules vor und nach der kodi-Wiedergabe abgeglichen, finde aber keine heiße Spur. Ich vermute, dass kodi irgendwie die Buffergrößen verändert oder die Art, wie Bild und Ton sich synchronisieren.
Es ist aber auch zu ärgerlich, dass es für die API keine Doku gibt und jeder Entwickler selbst experimentieren darf, welche Kommandos in welcher Reihenfolge angewandt welchen Effekt haben.
-
Nein. Leider nicht. Das pip0 ist immer noch vorhanden und damit auch die Kodi Probleme
Das kann ich mir gar nicht erklären. Ich lösche explizit pip0. Bist du sicher das du die aktuelle Version nutzt ?
nun wäre noch die Frage, ob jojo61 das zwar schnelle, aber unelegante Umschaltverhalten verbessern kann. Das neue Bild ist fast sofort da, läuft eine Sekunde, bleibt dann stehen und kurz danach geht es weiter.
Ja das starten von Audio wird etwas verzögert damit das Bild starten kann. Wenn das nun schneller kommt dann ist das Audio zu spät und das Bild wird angehalten.
Das ist genau das was du siehst. Diese Audio verzögerung beim umschalten ist fest programmiert. Das könnte ich als Einstellparamter machen.
Du kannst ja mal mit dem Wert spielen und Feedback geben ob man es verbessern kann. Die -24000 von Hier
-
Du kannst ja mal mit dem Wert spielen und Feedback geben ob man es verbessern kann. Die -24000 von Hier
ich habe mit diversen Werten (-100000 bis + 100000) experimentiert, die Unterschiede sind aber minimal. Den Zustand, dass sofort nachdem das Schwarzbild beim Umschalten weg ist, das Bild mit synchronem Ton läuft, kriege ich nicht hin. Im besten Fall wird die Zeitspanne, bis das (zunächst immer erst mal anlaufende) Bild stehen bleibt und auf den Ton wartet, geringfügig kürzer.
Wie bist Du denn auf die -24000 gekommen? Durch Probieren oder hast Du die pts-Werte an der Stelle geloggt?
Hier
https://forum.odroid.com/viewtopic.php?p=139989&sid=580346fe6e2c750bebc775f3011989cf#p139989
behauptet jemand, man könne einfach die kompletten TS-Pakete an das device schicken, und es würde selbst für die Synchronisation sorgen. -
Ich habe mir das nun mal genauer angesehen.
Beim umschalten ist in beiden Fällen die Startzeit bis zum AV Sync gleich. Wenn vorher der Kodi lief dann wird das Bild SOFORT angezeigt bevor AV sync erreicht ist.
Leider kommt das Audio später als das Bild im Stream und zusätzlich braucht ALSA noch etwas buffer und deswegen dauert es ca. 600ms bis das Audio soweit ist.
Wenn vorher kein Kodi lief das wird das Bild erst nach erreichen von sync angezeigt. Insofern macht Kodi die eigentlich richtigen einstellungen kaputt. Es macht keinen Sinn das Bild sofort anzuzeigen weil zu dem Zeitpunkt noch kein passendes Audio vorhanden ist und deswegen das Bild dann bis zum erreichen von AV Sync angehalten werden muss.
Was Kodi da ändert damit das Bild sofort angezeigt wird, habe ich noch nicht gefunden.
-
So habs nun gefunden was Kodi kaputt gemacht hat. Jetzt kommt das Video wieder mit dem AV Sync.
Tut mir Leid das der Eindruck das es schneller mit dem Umschalten gehen könnte wohl falsch war.
was mir auch noch aufgefallen ist das Kodi das smp_affinity ändert. Damit könnte das geänderte evtl. verhalten von ir_meson erklärt werden.
Das kann man auch alleine starten. Einfach vor dem vdr /usr/lib/coreelec/smp-affinity.sh aufrufen wenn vdr als erstes gestartet wird.
-
So habs nun gefunden was Kodi kaputt gemacht hat. Jetzt kommt das Video wieder mit dem AV Sync.
Tut mir Leid das der Eindruck das es schneller mit dem Umschalten gehen könnte wohl falsch war.
was mir auch noch aufgefallen ist das Kodi das smp_affinity ändert. Damit könnte das geänderte evtl. verhalten von ir_meson erklärt werden.
Das kann man auch alleine starten. Einfach vor dem vdr /usr/lib/coreelec/smp-affinity.sh aufrufen wenn vdr als erstes gestartet wird.
Vielen Dank, jojo61. Ich teste das direkt heute Abend.
-
-
Edit: Wenn ich das Script in der chroot-Umgebung und nicht in CE starte, dann scheint es zu funktionieren. Sehr seltsam.
Das ist sehr komisch, weil das script ja eh beim starten von Kodi läuft. Und dann sicher nicht in chroot.
-
Ja, daher wundert es mich ja auch. Im VDR OSD steht zwar shdy-kiss als OSD, aber der VDR zeigt das LCARS-Skin an.
Mein mseon-ir-Problem ist damit gelöst.
-
Edit: Wenn ich das Script in der chroot-Umgebung und nicht in CE starte, dann scheint es zu funktionieren. Sehr seltsam.wie genau und wo hast Du das eingebaut? Hast Du das Script in die chroot-Umgebung kopiert? Muss man da noch etwas anpassen? Lässt Du es in der runvdr aufrufen?
Bash
Alles anzeigen#!/bin/sh # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2018-present Team CoreELEC (https://coreelec.org) SMP="../smp_affinity" MESONIR="`find /proc/irq/ -name ir-meson`" ETH0="`find /proc/irq/ -name eth0`" VDEC0="`find /proc/irq/ -name vdec-0`" VDEC1="`find /proc/irq/ -name vdec-1`" PREDI="`find /proc/irq/ -name pre_di`" AFIFO0="`find /proc/irq/ -name afifo0`" AOCEC="`find /proc/irq/ -name hdmi_aocec*`" USB3="`find /proc/irq/ -name xhci-hcd:usb1`" IRQ="$AOCEC $ETH0 $USB3 $VDEC0 $VDEC1 $AFIFO0 $MESONIR $PREDI" cpu=0 aff=1 for i in $IRQ; do if [ -f "$i/$SMP" ];then cpu=$((cpu + 1)) if [ -d "/sys/devices/system/cpu/cpu$cpu" ];then aff=$((aff * 2)) haff=`printf '%x\n' $aff` else aff=2 haff=2 cpu=0 fi echo "echo $haff > $i/$SMP" echo $haff > $i/$SMP fi done exit 0
-
wie genau und wo hast Du das eingebaut? Hast Du das Script in die chroot-Umgebung kopiert? Muss man da noch etwas anpassen? Lässt Du es in der runvdr aufrufen?
Ja, ich rufe es weinfach in der runvdr auf. Ich lassen nur die deinterlacer, vdec und meson drin. den rest nicht (in der Zeile mit IRQ= löschen).
-
Ja, ich rufe es weinfach in der runvdr auf. Ich lassen nur die deinterlacer, vdec und meson drin. den rest nicht (in der Zeile mit IRQ= löschen).
$VDEC0 $VDEC1 und $MESONIR ist klar, aber welches steht für den deinterlacer?
jojo61: Vielen Dank für die Erklärungen und das Fixen. Wie zum Henker hast Du das gefunden??
Dass es nach der Rückkehr von kodi zu vdr erstmal ruckelt, ist damit bei mir aber noch nicht beseitigt. Aber nur, wenn auch ein Film in kodi abgespielt wurde. Nach dem ersten Umschalten ist dann wieder alles normal. Kann es vielleicht sein, dass das ioctl AMSTREAM_IOC_SYNCTHRESH nicht bereits beim Attachen ausgeführt wird, was anscheinend nötig wäre? Ansonsten könntest Du vielleicht mal schauen, ob Du beim DETA den Decoder wie bei einem Playmode pmNone stoppen kannst. Vielleicht löst das das Problem.
Meine Methode, um Kodi aufzurufen ist übrigens ein Eintrag Kodi starten : /usr/bin/killall looperin der commands.conf. Das bewirkt dann ein DETA, REMO off und kodi start bzw. bei Verlassen von kodi ein stoppen von kodi, REMO on und ATTA mit paramter hw:CARD=AMLAUGESOUND,DEV=2
Ich habe nun neben nochmal die andere, ursprünglich von beta beschriebene Methode unter Nutzung des externalplayer-Plugins ausprobiert. Im Prinzip macht das nichts anderes mit dem Unterschied, dass vdr hierbei in den Playmode pmEXtern... versetzt wird. Das hatte anfangs auch schon mal funktioniert. Jetzt macht das Zicken. Einmal hatte ich nach Rückkehr zum vdr plötzlich kein OSD mehr (nopacity), ein anderes mal kam im laufenden kodi-Betrieb plötzlich wieder das vdr-Bild zum Vorschein, ohne dass kodi beendet wurde (Teile des kodi-Skins waren auch noch sichtbar).
Es tut mir leid, dass wir hier den Thread von Zabrimus gekapert haben , denn ich weiss nicht, ob das bei seiner Umsetzung überhaupt ein Problem ist. Das Thema gehört eher in jojos Thread Video Treiber für Odroid-N2+ (softhdodroid) - aber nachdem wir hier schon mal angefangen haben...
-
Dass es nach der Rückkehr von kodi zu vdr erstmal ruckelt, ist damit bei mir aber noch nicht beseitigt.
Ja das Problem ist noch offen. Ich habe da auch schon ein paar Stunden gesucht und es einfach nichts gefunden. Es sieht so aus als ob tatsächlich ein Videostream laufen muss damit es beim erneuten initialisieren (umschalten) dann klappt. Das Problem ist das der Videostream sich beim ersten mal nicht an die PTS vorgaben hält und ich vermute so langsam das es ein Fehler im Kernel ist. Kodi verbiegt das syncronisieren und macht es extern und das scheint sich nicht sauber zu reseten wenn man das device schliesst.
Bezgl. deta und externalPLayer sollte es eigentlich keine Unterschiede geben. In beiden Fällen "beende" ich das Plugin und mache alles zu und resete das VFM Mapping. Im Entwicklertest mache ich aber nur ein DETA. Könnte also sein das externalPLayer doch noch ein Problem hat. Ich finde DETA eh besser.
-
damit es beim erneuten initialisieren (umschalten) dann klappt.
Ich hatte testweise mal ein erneutes DETA und ATTA mit einigen Sekunden Zeitverzögerung im Umschaltscript eingebaut - das hat auch gereicht, um das Ruckeln zu beenden, obwohl nicht umgeschaltet wurde. Vielleicht bringt Dir das eine neue Erkenntnis?
-
Ja das ist ein guter Hinweis. Dann habe ich die ganze Zeit an der falschen Stelle gesucht
-
wichtig war die Verzögerung. Ich glaube ich musste einen sleep von mehreren Sekunden setzen, ehe das erneute DETA/ATTA etwas bewirkte
-
Mal wieder zurück zum eigentlichen Thread-Thema!
Ich habe jetzt mal eine SDcard mit dem letzten Release installiert
Ich starte mit KODI, was erstmal läuft. Dann habe ich auf der Coreelec-Konsole folgendes ausgeführt:
cd /usr/local/bin
./install.sh -i -b kodi
Das ist ohne Fehler durchgelaufen und nach einem Reboot, habe ich dann auch einen Auswahlpunkt "VDR" im Shutdownmenü.
Wenn ich das anklicke, dann wird der VDR gestartet, es wird kurz das OSD angezeigt (kein TV-Bild) aber dann lässt sich der VDR nicht bedienen (Tastatur oder Fernbedienung, welche unter Coreelec läuft)
Was will ich eigentlich haben:
Der VDR soll als Streaming-Client arbeiten und von meinem yaVDR-PC die Live-TV-Sender und später dann auch die Aufnahmen usw. holen.
Auf dem yaVDR-PC habe ich bereits das streamdev-server-Plugin installiert und auch eingerichtet, so dass ich z.B. von einem anderen PC per VLC-Player das LiveTV schauen kann.
Jetzt komme ich nicht weiter.
- Wie aktiviere ich die Tastatur bzw. auch die Fernbedienung für die Bedienung des VDR, z.B. Aufruf des Menüs, switchen durch die Kanäle?
- Was muss ich jetzt wo auf dem Odroid einstellen, um verschiedene Plugins zu aktivieren und zu konfigurieren?
z.B. aktivieren des streamdev-client-Plugin
Was habe ich bisher versucht bzw. getan:
Ich habe es in die /storage/.config/vdropt/enabled-plugins eingetragen, die sieht jetzt so aus:
Die "channels.conf" habe ich vom yaVDR-PC übernommen
in die /storage/.config/vdropt/svdrhosts.conf habe ich zum testen 192.168.1.0/24 eingetragen.
Nach dem Start des VDR kommt ganz kurz das Channel-OSD mit dem 1. Kanal aus der channels.conf und da steht dann "Channel not available"
Jetzt bin ich mit meinem Latein bzw. Linuxkenntnissen am Ende!Was muss ich also tun, damit das läuft?
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!