vdr-transcode - swiss knife for transcoding

  • Ich habe die vdr-transcode.conf angepasst und mal neu transcodiert. log im Anhang .....


    log im Anhang .....


    Übrigens habe ich den Fehler gefunden bzgl. deutsche Sprache in den anderen Audiospuren ....merkwürdigerweise sind die anderen Tonspuren auch in deutsch ...... da wurde wohl bei der Ausstrahlung ein Fehler gemacht.


    ALLERDINGS: von subtitles ist im mp4 nichts zu finden. Bei der Gelegenheit habe ich dann gleich noch festgestellt, dass am VDR 2.6.0 keine Ausgabe der Untertitel erfolgt, wenn ich in den Einstellungen unter DVB die Untertitelanzeige aktiviere. Das funktioniert nur, wenn ich die Untertitel über das Teletext-Plugin einblenden lasse......Aber da kommen sie ja über den teletext und nicht aus dem ts-Stream .....

    Dateien

    --------------------------------------------------------------------------------------------------------------------------------------------------

    BM2LTS im VDR-Portal   http://www.bm2lts.de   http://www.sc-schulze.de

    --------------------------------------------------------------------------------------------------------------------------------------------------

    Empfang: Octopus Net S2 max (8 Tuner) + Octopus Net S2 max (8 Tuner) + Netceiver (2x DVB-s2dual)

    Kopfstation: Virtuelle Maschine mit BM2LTS v3.4.XX

    Clients: NUC10i5FNH2 -> BM2LTS v3.4.XX; FireTV4k mit Kodi u. VNSI-Plugin

    NAS: Aufnahmen u. Plex-Media

    --------------------------------------------------------------------------------------------------------------------------------------------------


  • Übrigens habe ich den Fehler gefunden bzgl. deutsche Sprache in den anderen Audiospuren ....merkwürdigerweise sind die anderen Tonspuren auch in deutsch ...... da wurde wohl bei der Ausstrahlung ein Fehler gemacht.

    Das war meine Vermutung, Arte hat noch nie durchgängig in franz. gesendet, dafür gibts Arte FR.


    Das mit den subtitles verstehe ich nicht, ich habe dem aber auch nie besondere Aufmerksam geschenkt.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Probiere mal eine Ausgabe nach mkv. Effektiver wäre ein Transcode nach hevc.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Wenn die MKV-Datei schon in h264 ist und 25 oder 50 fps hat, muss nichts encodiert werden.


    Ansonsten:


    Konfiguration:


    -h264enc h264_nvenc

    -hwaccel cuvid|vdpau , also entweder/oder


    Transkodieren:


    vt -i <datei> -vc h264 


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Konfiguration:


    -h264enc h264_nvenc

    -hwaccel cuvid|vdpau , also entweder/oder

    Danke. Darf ich noch mal nachfragen, damit ich besser verstehe, was ich da tue?


    Die Videodaten sind im MPEG2-Format. Die Hardwarebeschleunigung sollte also helfen. Ich vermute, -h264enc h264_nvenc bedeutet, dass nach H.264 transkodiert werden soll und zwar mit einem NVIDIA-basierten Encoder? Und mit -hwaccel gebe ich an, dass bei der Hardwarebeschleunigung entweder eine Programmschnittstelle auf Grundlage von CUDA (cuvid) oder VDPAU (vdpau) benutzt werden soll? Falls ich soweit richtig liege: Nach welchen Kriterien entscheide ich, ob ich cuvid oder vdpau angebe? Vielleicht spielt es da eine Rolle, dass Debian Bullseye sich entschieden hat, nouveau als Treiber für die Karte zu benutzen.

  • Das hast Du super erkannt. Mit nouveau kenne ich mich nicht aus. vdpau könnte noch damit funktionieren, nvenc vermutl. nicht. Du brauchst vermutl. den prohib. Treiber von Nvidia. Den findest Du wahrsch. im Repo von Debian und bei Nvidia direkt. Dann brauchst Du nat. ffmpeg mit Nvidia-Unterstützung.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Ah, dann habe ich wohl doch etwas missverstanden. Mit "entweder/oder" meintest Du, dass ich -h264enc oder -hwaccel benutzen soll.


    Diesen Abschnitt in Wikipedia interpretiere ich so, dass nouveau VDPAU für meine GT 710 unterstützt. Im Artikel zu CUDA finde ich keinen entsprechenden Hinweis. Also werde ich es mit vdpau versuchen, bevor ich einen anderen Treiber installiere.


    Wie finde ich denn heraus, ob das standardmäßig in Debian Bullseye enthaltene ffmpeg Unterstützung für NVIDIA enthält?

  • Du brauchst beide Parameter, die Auswahl war vdpau oder cuvid. Das ist für das dekodieren, wenn der Parameter nicht angegeben ist, wird per CPU dekodiert, was bei mpeg2 verschmerzbar ist. Fürs encodieren brauchst Du den Parameter -h264enc, der steht standardmäßig auf libx264.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Ok, also -h264enc h264_nvenc -hwaccel vdpau. Und wie war das jetzt mit ffmpeg mit Nvidia-Unterstützung? Wie teste ich "mein" ffmpeg und wo bekomme ich im Bedarfsfall ein ffmpeg mit Unterstützung für Nvidia?

  • Code
    gentoo vdr-2.6.0 # ffmpeg -hide_banner -encoders | grep nvenc
     V....D h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
     V..... nvenc                NVIDIA NVENC H.264 encoder (codec h264)
     V..... nvenc_h264           NVIDIA NVENC H.264 encoder (codec h264)
     V..... nvenc_hevc           NVIDIA NVENC hevc encoder (codec hevc)
     V....D hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)
    Code
    gentoo vdr-2.6.0 # ffmpeg -hide_banner -hwaccels
    Hardware acceleration methods:
    vdpau
    cuda
    vaapi
    drm
    vulkan


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • gentoo vdr-2.6.0 # ffmpeg -hide_banner -hwaccels

    Interessanter Befehl!
    Ich hätte gedacht, ich hätte ffmpeg 2.8 (siehe Signatur), aber dieser Befehl klappt bei mir nicht:

    "ffmpeg not installed". Ist das normal?

    MyVDR: yaVDR-Ansible (Ubuntu 20) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • Aus welchem Museum kommt denn ein ffmpeg 2.8?


    "not installed" heisst not installed ;)


    es sei denn, Du hast Dich vertippt.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Das sieht bei mir ein bisschen anders aus:

    Code
    $ ffmpeg -hide_banner -encoders | grep nvenc
    $ ffmpeg -hide_banner -hwaccels
    Hardware acceleration methods:
    vdpau
    vaapi
    qsv
    drm
    opencl

    Also brauche ich wohl ein anderes ffmpeg, wenn ich meine Karte zum Enkodieren nutzen möchte.

  • Hast Du denn den Nvidia-Treiber installiert?


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Wohl nicht. Es gibt in Bullseye ein Paket nvidia-driver (mit Version 460.91.03-1) mit folgender Beschreibung

    Code
    This metapackage depends on the NVIDIA binary driver and libraries that provide optimized hardware acceleration of OpenGL/GLX/EGL/GLES/Vulkan applications via a direct-rendering X Server.
    ...

    Laut README im Paket wird meine GT 710 mit feature set D unterstützt. Dessen Beschreibung enthält eine Vielzahl von VDP_DECODER_PROFILE_*, aus denen ich allerdings nicht schlau werde.

  • Probiere mal:


    apt search nvidia | grep -i nvenc


    oder gleich


    apt search nvenc


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Das Paket libnvidia-encode1 ist zusammen mit nvidia-driver installiert worden (und übrigens auch nvidia-vdpau-driver:(

    Code
    $ apt search nvenc
    ...
    libnvidia-encode1/stable,now 460.91.03-1 amd64  [Installiert,automatisch]
      NVENC Video Encoding runtime library
    ...

    Aber ffmpeg scheint nicht davon zu profitieren. Im Debian Wiki gibt es eine Seite Hardware Video Acceleration, auf der erwähnt wird, dass ffmpeg zu den Programmen gehört, die NVENC nutzen.


    Ich habe den Verdacht, dass ich eine Version von ffmpeg finden oder bauen muss, die NVENC auch wirklich nutzt (und z.B. von libnvidia-encode1 abhängt). Vielleicht nach dem Vorbild von ffmpeg-nvenc-debian. Dort wird ffmpeg/nv-codec-headers aus VLC benutzt. Leider erfordert die aktuelle Version von ffmpeg/nv-codec-headers Version 470.57.02 der NVIDIA-Treiber. Die Version in Debian Bullseye ist jedoch nur 460.91.03.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!