Posts by carel

    Hello lnj

    I recently upgraded to the latest Debian SID with the latest vdr, ffmpeg and mpv

    I'm using softhddevice with vaapi

    Now the mpv plugin doesn't show the OSD anymore, instead I get: "overlay-add: could not open or read '@38'#012"

    I tried several softhddevice and mpv flags, and also in DRM mode: all the same error

    I also cannot stop the plugin anymore.

    Hope you got an idea!

    Code
    carel@tuinhuisje:~$ vainfo
    Trying display: wayland
    Trying display: x11
    libva info: VA-API version 1.23.0
    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
    libva info: Found init function __vaDriverInit_1_23
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 1.23 (libva 2.23.0)
    vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 26.1.6 ()

    I have it running rather stable with below settings in

    /etc/vdr/plugins/xineliboutput/config

    media.xvdr.num_buffers_hd:5000
    media.xvdr.scr_tuning_step:1000
    engine.buffers.audio_num_buffers:7000
    engine.buffers.video_num_buffers:5000
    engine.buffers.video_num_frames:50

    Edit the file only when sxfe is not running!

    Da ich im Moment noch kein SAT-Signal habe, kann ich ohne Signal das VDR-Menue anzeigen ?

    I think this work with sxfe, just try ;)

    Getting compilation errors with vdr 2.7.9

    gcc (Debian 15.2.0-12) 15.2.0

    cat /etc/debian_version
    forky/sid

    Code
    g++ -g -O3 -Wall -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -I/home/carel/src/vdr/vdr-2.7.9-2/include -std=c++20 -pedantic-errors -Wall -Wextra -fPIC -Wformat=2 -Wconversion -Wsign-conversion -Wshadow -Werror -Wnull-dereference -DPLUGIN_NAME_I18N='"vaapivideo"' -I/include -I. -I/usr/include/libdrm  -c vaapivideo.cpp -o vaapivideo.o
    In file included from /home/carel/src/vdr/vdr-2.7.9-2/include/vdr/i18n.h:14,
                     from /home/carel/src/vdr/vdr-2.7.9-2/include/vdr/plugin.h:13,
                     from src/common.h:82,
                     from vaapivideo.cpp:18:
    /home/carel/src/vdr/vdr-2.7.9-2/include/vdr/tools.h:35:18: error: ISO C++ does not permit named variadic macros [-Wvariadic-macros]
       35 | #define esyslog(a...) void( (SysLogLevel > 0) ? syslog_with_tid(LOG_ERR,   a) : void() )
          |                  ^~~

    I'm using below patch, not sure it's 100% up-to date

    Does this mean the live-streams are updating their PIDs continuoulsly?

    Do I need to change P=1 to P=0 to avoid this? and could this have an impact on the possibility to record streams?

    In the past you shared a patch "prevent retune and obsolete", do you recommend to still apply it?

    I tested a bit further with your patch applied and with P=0 set

    It looks perfect now.. no more useless change of pids like here:

    Jan 16 11:50:18 user.debug      thuis   vdr: [409441] changing pids of channel 92 (MBC 5) from 256+256=2:257=@4:0:0 to 256+256=27:257=@15:0:0
    Jan 16 11:50:18 user.debug      thuis   vdr: [410948] changing pids of channel 92 (MBC 5) from 256+256=27:257=@15:0:0 to 256+256=27:257=@4:0:0

    Recording also goes fine!

    Note: I'm using the plain simple

    yt-dlp_linux -t mp4 --audio-multistreams --hls-use-mpegts ${URL} -o - | nc 127.0.0.1 ${PORT}

    With channel set like example:

    MBC 5;IPTV:7140:S=1|P=0|F=EXTT|U=iptvstream.sh|A=7140:I:0:256=27:257=@15:0:0:1:1:5743:7140

    'urls.conf' called in 'iptvstream.sh' links parameter 7140 to the IPTV url as usual

    I'm getting these "Retuning due to modification of channel.. " in the logs

    Does this mean the live-streams are updating their PIDs continuoulsly?

    Do I need to change P=1 to P=0 to avoid this? and could this have an impact on the possibility to record streams?

    In the past you shared a patch "prevent retune and obsolete", do you recommend to still apply it?

    Too many questions today :/


    BTW: I noticed the error

    IPTV-ERROR: Script '/etc/vdr/plugins/iptv/iptvstream.sh' won't terminate - killing it!

    This could be fixed by changing

    int retval = killpg(pidM, SIGINT);

    to:

    int retval = killpg(pidM, SIGTERM);

    in protocolext(t).cpp

    I'm using Debian here, not sure if other Distro's also have an issue with 'SIGINT'

    Hallo Zabrimus,

    Adding the tcp option was a good thing, it's much more stable now! I'm now using yt-dlp and ffmpeg over tcp and removed VLC as 'transcoder'

    What's the advantage of using yt-dlp_linux instead of the python based version yt-dlp ?

    I saw below line starting yt-dlp in your scripts: yt-dlp_linux -t mp4 --audio-multistreams

    Can you tell why these two options are used (needed) ?

    Thanks

    Ah, lifetime on disk, now I get the picture

    One thing to consider: when I set "InstantRecordTime = 0", VDR will record just the episode (if available), which is a nice feature. But it would also lead to time-shift recordings ending at te end of the event and that's not intended.

    I'll have a look at the code, maybe I can make myself a patch to add a dedicated recording tiime just for time-shifts

    Können Sie mir bitte erklären, welchen Zweck der Parameter „PauseLifetime“ hat, der standardmäßig auf einen Tag eingestellt ist?

    Wenn ich eine Live-Sendung pausiere, wird zwar ein neuer Timer erstellt, aber nur mit der Standarddauer InstantRecordTime = 120. Wenn unsere Pause also zwei Stunden überschreitet, kehren wir zur Live-Sendung zurück, wo wir meiner Meinung nach einen Tag Pause einlegen sollten, oder?

    Vielen Dank im Voraus für Ihre Erklärung!

    PS: ohne Google translate ist mein Deutsch noch viel Schlimmer!