Video Treiber für Odroid-N2+ (softhdodroid)

  • Das Problem kenne ich so bisher nicht. Wann hatte jojo das gepostet? Tritt das aktuell wirklich noch auf?

    Achje. Ich habe das Zitat aus dem Context gerissen :( Siehe hier.

    Es geht um das Web-Plugin und Videos aus der Mediathek. Da kann es passieren, daß das Video zwar abgespielt wird, aber der Ton fehlt. Und sobald das passiert, hilft nur ein Neustart (VDR, System) um wieder an Ton zu kommen. Ein Senderwechsel oder andere Aktionen führen nicht zum Erfolg.

  • sieht man denn dann was im Log? Spontan würde ich auf nicht freigegebene Ressourcen tippen. CoreElec scheint ja kein Pulseaudio zu unterstützen und spricht alsa direkt an.Beim Wechsel vdr zu Kodi wird softhdodroid ja detached und müsste dabei das alsa device freigeben, denn Kodi hat nie Probleme mit dem Ton. Umgekehrt wird bei Rückkehr zu vdr Kodi komplett beendet und gibt ebenfalls die devices frei.

    Wie das nun im Zusammenspiel mit dem Web-Plugin funktioniert - keine Ahnung. Greift das auf alsa zu oder sendet es den Ton an den vdr?

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • sieht man denn dann was im Log? Spontan würde ich auf nicht freigegebene Ressourcen tippen.

    Aus dem Log werde ich nicht schlau. Das ist auch gerade beim ersten Video passiert (TV -> Video).

    Display Spoiler

    Nov 11 13:59:47 odroid1 vdr[4326]: video: new stream 16047098ms

    Nov 11 13:59:47 odroid1 vdr[4326]: video: possible stream change loss

    Nov 11 13:59:47 odroid1 vdr[4326]: video: not detected

    Nov 11 13:59:47 odroid1 vdr[4326]: video: h264 detected

    Nov 11 13:59:47 odroid1 vdr[4326]: in VideoDecode make close

    Nov 11 13:59:47 odroid1 vdr[4326]: CodecVideoClose Pip 0 Handle 4

    Nov 11 13:59:47 odroid1 kernel: vframe_rate_uevent: sent uevent FRAME_RATE_HINT=0

    Nov 11 13:59:47 odroid1 kernel: PPMGRVPP: info: task: quit

    Nov 11 13:59:47 odroid1 kernel: ppmgr local_init

    Nov 11 13:59:47 odroid1 kernel: dim:ch[0]:di_receiver_event_fun,1:_UNREG

    Nov 11 13:59:47 odroid1 kernel: use keep buffer keep frame!

    Nov 11 13:59:47 odroid1 kernel: vf_keep_current_locked: keep video successful!

    Nov 11 13:59:47 odroid1 kernel: video_vf_unreg_provider: vd1 used: true, vd2 used: false, keep_ret:1, black_out:0, cur_dispbuf:000000003ca1baca

    Nov 11 13:59:47 odroid1 kernel: VD1 AFBC 0x0.

    Nov 11 13:59:47 odroid1 kernel: dim:unreg:use[0]ms

    Nov 11 13:59:47 odroid1 kernel: vdec_disable_DMC input->target= 0x0

    Nov 11 13:59:47 odroid1 kernel: 0: vh264_stop

    Nov 11 13:59:47 odroid1 vdr[4326]: internal close pip 0

    Nov 11 13:59:47 odroid1 kernel: vdec_release instance 000000000ff849a8, total 1 id = 0

    Nov 11 13:59:47 odroid1 kernel: the clk_vdec_mux clock off, ref cnt: 0

    Nov 11 13:59:47 odroid1 kernel: the vdec clock off, ref cnt: 0

    Nov 11 13:59:47 odroid1 kernel: the parser_top clock off, ref cnt: 0

    Nov 11 13:59:47 odroid1 kernel: the demux clock off, ref cnt: 0

    Nov 11 13:59:47 odroid1 kernel: vfm_map_store:rm pip0

    Nov 11 13:59:47 odroid1 vdr[4326]: CodecVideoOpen h264

    Nov 11 13:59:47 odroid1 vdr[4326]: AmlVideoSink - VIDEO/H264

    Nov 11 13:59:47 odroid1 kernel: the demux clock on, ref cnt: 1

    Nov 11 13:59:47 odroid1 kernel: the parser_top clock on, ref cnt: 1

    Nov 11 13:59:47 odroid1 kernel: the vdec clock on, ref cnt: 1

    Nov 11 13:59:47 odroid1 kernel: the clk_vdec_mux clock on, ref cnt: 1

    Nov 11 13:59:47 odroid1 kernel: vdec mux clock is 499999992 Hz

    Nov 11 13:59:47 odroid1 kernel: vdec_create instance 000000009024b123, total 1, PM: legacy

    Nov 11 13:59:47 odroid1 kernel: vfm_map_store:rm vdec-map-0

    Nov 11 13:59:47 odroid1 kernel: vfm_map_store:add pip0 vdec.h264.00 ppmgr deinterlace amvideo

    Nov 11 13:59:47 odroid1 kernel: The fw has been loaded.

    Nov 11 13:59:47 odroid1 kernel: vdec_init, dev_name:ammvdec_h264, vdec_type=VDEC_TYPE_FRAME_BLOCK id = 0

    Nov 11 13:59:47 odroid1 kernel: ammvdec_h264_mmu_init tvp = 0x0 mmu_enable 0

    Nov 11 13:59:47 odroid1 kernel: decoder_bmmu_box_alloc_box, tvp_flags = 0

    Nov 11 13:59:47 odroid1 kernel: 0: ammvdec_h264_probe mmu_enable 0 double_write_mode 0x0

    Nov 11 13:59:47 odroid1 kernel: 0: ammvdec_h264 mem-addr=0,buff_offset=b8c10000,buf_start=b8c00000

    Nov 11 13:59:47 odroid1 kernel: vdec mux clock is 666666656 Hz

    Nov 11 13:59:47 odroid1 kernel: vdec1 video changed to 3840 x 2160 60 fps clk->667MHZ

    Nov 11 13:59:47 odroid1 kernel: H264 sysinfo: 0x0 duration=3840, pts_outside=0

    Nov 11 13:59:47 odroid1 kernel: sync_outside=1, use_idr_framerate=0, is_used_v4l: 0

    Nov 11 13:59:47 odroid1 kernel: [LOCAL], the fw (h264_multi) will be loaded.

    Nov 11 13:59:47 odroid1 kernel: vh264_init, phy_addr=e2637000 vaddr=000000003c096fb5

    Nov 11 13:59:47 odroid1 kernel: vfm map created

    Nov 11 13:59:47 odroid1 kernel: ppmgr local_init

    Nov 11 13:59:47 odroid1 kernel: dim:ch[0]:di_receiver_event_fun,8:_REG

    Nov 11 13:59:47 odroid1 kernel: dim:reg:ppmgr[19]

    Nov 11 13:59:47 odroid1 kernel: dim:reg:use[0]ms

    Nov 11 13:59:47 odroid1 kernel: ppmgr local_init

    Nov 11 13:59:47 odroid1 kernel: dim:ch[0]:di_receiver_event_fun,3:_START

    Nov 11 13:59:47 odroid1 kernel: vdec_init, vf_provider_name = vdec.h264.00, b 0

    Nov 11 13:59:47 odroid1 kernel: vdec->port_flag=0x102, port_flag=0x103

    Nov 11 13:59:47 odroid1 vdr[4326]: pesdemux: pes start code id 0xc0

    Nov 11 13:59:47 odroid1 vdr[4326]: pesdemux: new codec 000000 -> 0x15002

    Nov 11 13:59:47 odroid1 vdr[4326]: codec: using audio codec ID 0x15002 (aac)

    Nov 11 13:59:47 odroid1 kernel: audio_dsp: IEC958_mode_codec= 0, IEC958 type 2 CH PCM

    Nov 11 13:59:47 odroid1 kernel: audio_dsp: last mode 0,now 0

    Nov 11 13:59:47 odroid1 kernel: audio_dsp: buf=0

    Nov 11 13:59:47 odroid1 kernel: audio_dsp: IEC958_mode_raw=0

    Nov 11 13:59:47 odroid1 vdr[4326]: codec: audio 'AAC (Advanced Audio Coding)'

    Nov 11 13:59:47 odroid1 vdr[4326]: codec/audio: format change fltp 48000Hz *2 Codec ID 86018 channels

    Nov 11 13:59:47 odroid1 vdr[4326]: CAESinkALSA - Use card "hw:0" and set codec format 0

    Nov 11 13:59:47 odroid1 vdr[4326]: CAESinkALSA - Set codec for Spdif_b

    Nov 11 13:59:47 odroid1 vdr[4326]: CAESinkALSA - Set codec for spdif

    Nov 11 13:59:47 odroid1 vdr[4326]: codec/audio: resample fltp 48000Hz *2 -> s16 48000Hz *2

    Nov 11 13:59:47 odroid1 kernel: audio_dsp: IEC958_mode_codec= 0, IEC958 type 2 CH PCM

    Nov 11 13:59:47 odroid1 kernel: audio_dsp: last mode 0,now 0

    Nov 11 13:59:49 odroid1 vdr[4326]: first vpts: 0x000004b960

    Nov 11 13:59:49 odroid1 kernel: 0: level_idc = 0 pic_size = 783360 size = 16

    Nov 11 13:59:49 odroid1 kernel: 0: Warning: max_dec_frame_buffering(4) is less than DPB size(16) calculated from Profile/Level.

    Nov 11 13:59:49 odroid1 kernel: 0: AV_SCRATCH_1 = 8407f83c, AV_SCRATCH_2 18067

    Nov 11 13:59:49 odroid1 kernel: 0: chroma_format_idc = 1 frame_mbs_only_flag 1, crop_bottom 4, frame_height 540,

    Nov 11 13:59:49 odroid1 kernel: 0: mb_height 34,crop_right 0, frame_width 960, mb_width 60

    Nov 11 13:59:49 odroid1 kernel: 0: level_idc = 31 pic_size = 783360 size = 8

    Nov 11 13:59:49 odroid1 kernel: 0: Warning: max_dec_frame_buffering(4) is less than DPB size(8) calculated from Profile/Level.

    Nov 11 13:59:49 odroid1 kernel: 0: mb height/widht/total: 24/3c/870 level_idc 1f max_ref_num 4

    Nov 11 13:59:49 odroid1 kernel: 0: restriction_flag=1, max_dec_frame_buffering=4, dec_dpb_size=6 num_reorder_frames 2 used_reorder_dpb_size_margin 6

    Nov 11 13:59:49 odroid1 kernel: 0: vh264_set_params active_buf_spec_num 12 dec_dpb_size 6 collocate_buf_num 8

    Nov 11 13:59:49 odroid1 kernel: 0: num_ref_frames change from 0 to 4

    Nov 11 13:59:49 odroid1 kernel: dim:value reg:ch[0]:fix_buf:0;ponly <0,0>

    Nov 11 13:59:49 odroid1 kernel: dim:960x540-0x9000.

    Nov 11 13:59:49 odroid1 kernel: cal_dur_from_pts vstatus 3840 dur1800 -> 1920, revised 1920

    Nov 11 13:59:49 odroid1 kernel: vframe_rate_uevent: sent uevent FRAME_RATE_HINT=1920

    Nov 11 13:59:49 odroid1 kernel: [tsync_avevent_locked 1064]VIDEO_START-tsync_mode:1(S)

    Nov 11 13:59:49 odroid1 kernel: pcr:0x4c770,param:0x4b960,vpts:0x0,apts:0xffffffff

    Nov 11 13:59:49 odroid1 kernel: video first pts = 4b960

    Nov 11 13:59:49 odroid1 kernel: new frame show, free keeper

    Wie das nun im Zusammenspiel mit dem Web-Plugin funktioniert - keine Ahnung. Greift das auf alsa zu oder sendet es den Ton an den vdr?

    Das Plugin macht eigentlich nichts anderes, als den TS Stream an das Ausgabedevice zu senden. Und dieses übernimmt dann die ganze Verarbeitung.

    Ein anderes Problem taucht dazu parallel auf: Wenn der Ton einmal weg ist, dann mikroruckelt auch das TV-Bild und ein Neustart lässt sich gar nicht vermeiden. Aber dazu finde ich im Log gar nichts, was auf eine Ursache hindeuten könnte.

  • An dem Tonproblem in Zusammenhang mit dem Web Plugin habe ich noch nicht weiter gesucht. Evtl. komme ich da nächste Woche dazu.

    Aber da das Problem nur mit dem Web Plugin auftritt ist die Idee von Dr. Seltsam, das die Lautstärke einfach auf 0 geht mal zu prüfen.

    Beim Start eines Vides aus der Mediathek kommt auch immer der Lautstärkebalken.

    Dr. Seltsam dein Patch bzgl. Kontrast und Helligkeit gefällt mir und ich werde ihn übernehmen. Danke

  • Aber da das Problem nur mit dem Web Plugin auftritt ist die Idee von Dr. Seltsam, das die Lautstärke einfach auf 0 geht mal zu prüfen.

    Beim Start eines Vides aus der Mediathek kommt auch immer der Lautstärkebalken.

    Gute Idee, aber das ist es nicht. Lautstärkeregelung, Mute ein/aus brachte keinen Erfolg. Leider :(

  • So habe den leicht modifizierten Patch von Dr. Seltsam nun im GIT.

    Zabrimus der Audio Debug ist per default ausgeschaltet. Ich schaue mir das nächste Woche nochmal an. Aber es muss etwas mit dem Web Plugin zu tun haben. Ich vermute der Ablauf beim Start eines Videos den du machst ist noch nicht richtig. Schau mal in den Thread mit dem SatIP Problem

    da ist er gut beschrieben. Nur warum das Audio dann gar nicht mehr kommt ist mir noch unklar. Versuch mal ein Detach und attach ob es dann wieder kommt.

  • Hallo jojo,

    ich habe dein Plugin auf den letzten Stand aktualisiert "Minor Audio Fix" vom 22.11.

    Damit liefert mein Fernseher bei Dolby Digital nur mehr ein Störgeräusch, mp2 Ton funktionert noch.

    Mit der vorhergehenden Version ist wieder alles OK.

    Kannst Du die Änderung wieder zuückrollen oder besser AudioAlsaNoCloseOpen als Kommandozeilenparameter konfigurierbar machen. damit man es bei Bedarf aktivieren kann?

    Danke Dir

    Lothar

  • Du solltest in den softhdodroid-Plugineinstellungen die standardmäßig leider deaktivierte Option Fast Channel Switch aktivieren.

    Ist in den Plugineinstellungen unter Audio evtl passthrough aktiviert? Mal mit und ohne testen. Wenn an, dann auch für die einzelnen Tonformate aktivieren.

    Du betreibst das ganze noch direkt unter Ubuntu mit dem Kernel von Hardkernel? Das ist eigentlich nicht mehr die empfohlene Methode. Es gibt im wesentlichen zwei Fraktionen:

    VDR*Elec von Zabrimus (vdr direkt unter Coreelec) oder CoreElec als Betriebssystem mit einer Ubuntu-chroot-Umgebung für vdr. Für letzteres gibt es ein Installationsscript von beta68. Ich würde unbedingt beides mal ausprobieren und vergleichen.

    Ich habe eben festgestellt, dass ich zwar mit eingeschaltetem passthrough in den Einstellungen auf allen Kanälen einen Ton habe, jedoch funktioniert dann die Lautstärkeregelung per VDR nicht mehr (entweder Ton an oder gemutet). Heisst passthrough softhdodroid und somit VDR macht nichts mehr mit dem Ton und regelt ihn dadurch auch nicht? Dann hätten wir ja schon die Erklärung.

    btw. Lautstärkeregelung funktioniert weder mit Hardware noch mit Software Lautstärke-Regelung.

    Meine VDR

    VDR-Server: Xeon E-2278G, Debian 12 in QEMU VM, vdr 2.7.3, Digital Devices Max SX8, Plugins: dummydevice 2.0.0, live 3.3.5, iptv 2.4.0 (patched), streamdev 0.6.3, svdrposd 1.0.0, timeserver 1.0, ffmpeg 5.1.5, mplayer (UNKNOWN-12 :) aus Debian 12)

    VDR1/2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, vdr 2.7.3, softhdodroid, svdrpservice, remoteosd, satip, timeserver 1.0, iptv 2.4.0 (patched)
    VDR3: Odroid N2+ mit VDRSternELEC (Testphase)

  • Ich habe eben festgestellt, dass ich zwar mit eingeschaltetem passthrough in den Einstellungen auf allen Kanälen einen Ton habe, jedoch funktioniert dann die Lautstärkeregelung per VDR nicht mehr (entweder Ton an oder gemutet). Heisst passthrough softhdodroid und somit VDR macht nichts mehr mit dem Ton und regelt ihn dadurch auch nicht? Dann hätten wir ja schon die Erklärung.

    btw. Lautstärkeregelung funktioniert weder mit Hardware noch mit Software Lautstärke-Regelung.

    Ich denke das ist normal bei passthrough - kenne ich auch von softhddevice nicht anders.

    Ich habe eben mal mit svdrpsend VOLU verschiedene Werte ausprobiert. Ausgehend vom Maximum (255) bin ich schrittweise runtergegangen. Irgendwann (ca. 25-30) war der Ton dann ganz weg. Alles darüber zeigt keine Lautstärkeveränderung.

    Wer passthrough braucht, hat ja wahrscheinlich einen AVR. Meine Universal-Fernbedienung hat eine Funktion, die Volume-Tasten von einem anderen Gerät (hier der AV) für jedes andere Gerät zu kopieren. Ansonsten hätte ich da die AVR-Tasten nochmal angelernt.

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • Ich denke das ist normal bei passthrough - kenne ich auch von softhddevice nicht anders.

    Mein Problem ist, dass ich ohne Passthrough bei manchen Kanälen keinen Ton habe. Zur Info: Ich habe keinen AVR dazwischen.

    Der Odroid ist direkt mit dem LG TV per HDMI verbunden. Ok, notfalls setze ich die Lautstärke am TV. Geht zur Not auch. Frage mich nur, ob ich der einzige bin, bei dem der Ton nur mit AC3 Passthrough geht. Interessanterweise habe ich das bei meinem Thinkcentre mit softhddevice von lnj nicht. Da geht dann auch die SW Lautstärkeregelung und Ton auf allen Kanälen (beides ohne Passthrough).

    Meine VDR

    VDR-Server: Xeon E-2278G, Debian 12 in QEMU VM, vdr 2.7.3, Digital Devices Max SX8, Plugins: dummydevice 2.0.0, live 3.3.5, iptv 2.4.0 (patched), streamdev 0.6.3, svdrposd 1.0.0, timeserver 1.0, ffmpeg 5.1.5, mplayer (UNKNOWN-12 :) aus Debian 12)

    VDR1/2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, vdr 2.7.3, softhdodroid, svdrpservice, remoteosd, satip, timeserver 1.0, iptv 2.4.0 (patched)
    VDR3: Odroid N2+ mit VDRSternELEC (Testphase)

  • jojo61: Hast Du schonmal versucht, ob softhdodroid auch mit dem neuen amlogic-Kernel 5.15 läuft? Ich werde nicht so richtig schlau aus den Informationen im CE-Forum. Im Sommer hieß es, G12B (S922X/A311D) und SM1 (S905X3) würden in Amlogic-ne mit Amlogic Kernel 5.15 unterstützt. Gleichzeitig hieß es

    Quote

    The Kernel 5.15 CoreELEC-21 will have no GXL support anymore

    wobei offen bleibt, ob amlogic-ne mit CE-20 noch GXL-Support hat. Ich glaube, softhdodroid braucht GLX für das openglosd?

    Auf https://wiki.coreelec.org/coreelec:devgeneric#amglogic_ne tauchen unsere Boxen noch nicht als für amlogic-ne unterstützt auf - weder für CE-20 noch CE-21.

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • Hast Du schonmal versucht, ob softhdodroid auch mit dem neuen amlogic-Kernel 5.15 läuft?

    Ich hatte mir mal coreelec-ng mit dem neuen Kernel installiert. In diesem Kernel sind aber alle amlogic spezifischen Erweiterung verschwunden und es geht nur noch drm mit v4l2. Das geht mit softhdodroid überhaupt nicht.

    Ich erinnere mich aber nicht mehr genau welche Kernelversion es war.

  • coreelec-ng mit dem neuen Kernel

    Das kann eigentlich nicht sein. Andere Kernel als den 4.9er gibt es nur mit ne.

    Im CE-Wiki wird für amlogic-ne ein Amlogic Vendor Kernel 5.4.125 gelistet. Das hört sich doch nach amlogic-spezifischen Erweiterungen an. Was es mit dem erwähnten 5.15 Kernel auf sich hat und ob der überhaupt schon für CE verfügbar ist, bleibt unklar. Ich habe im CE-Forum mal eine Frage an Portisch gerichtet.

    Wäre glx denn kritisch?

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • Bezüglich mainline-Unterstützung (was dann ja auf softhddevice-drm hinauslaufen würde) gab es seitens Hardkernel im Hardkernel-Forum diese Aussage:

    Quote

    We will keep debugging/improving Kernel 6.1 with modern GPU drivers for several months with forum users.

    And we will officially release an Ubuntu 24.04 LTS image with well tested LTS Kernel 6.1 next April or May very likely.

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!