[FFmpeg] AAC LATM

  • Wie bekomme ich mit FFmepg das Encoding vom Audio Codec AAC LATM hin ?

    Mir ist bei Tests der markad Version V04 aufgefallen, dass bei HVEC Aufnahmen mit AAC LATM Audio die Schnittfunktion noch nie funktioniert hat. Nutzt wohl keiner.

    Code
     ffmpeg  -hide_banner -codecs | grep LATM
     D.AIL. aac_latm             AAC LATM (Advanced Audio Coding LATM syntax)

    Decoder ist da, aber kein Encoder. Wie bekomme ich den Encoder ?

    "configure --enable-encoder=aac" bringt nichts.

  • Mein Script kann das


    Du brauchst libfdk_aac und dann:


    -profile:a aac_he -latm 1 -mpegts_flags latm -flags:a +global_header


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

  • Das basiert ja auf FFmpeg, dann muss das ja dein FFmpeg können. Ich will zwar nicht FFmpeg selbst verwenden, sondern die libavcodec API, aber wenn es mein FFmpeg nicht kann, kann es auch libavcodec nicht. FFmpeg mit "--enable-libfdk-aac --enable-nonfree" bauen habe ich auch versucht, ändert aber nichts bei mir.

    Zeigt mal bitte deine Ausgabe von "ffmpeg -codecs | grep LATM".

  • Das brauche ich nicht, da wird nichts kommen, es geht nicht um den Codec, sondern ums packetieren. Ich bin nicht sicher, ob das nur mit libfdk_aac geht.


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

  • Habe ich das richtig verstanden ? Mit o.g. Parametern wird nicht decodiert und encodiert, darum braucht du LATM Encoder nicht ?

  • So wie ich das verstehe ja,


    Mit aac und -latm 1 -mpegts_flags latm


    Code
        Stream #0:1[0x1e1]: Audio: aac_latm (LC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp


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

  • Vielen Dank, du hast mich auf eine Idee gebracht:

    Ich muss mir mal anschauen, ob ich das bei der Schnittfunktion in markad genauso machen kann. Den Ton brauche ich ja eigentlich nicht zu decodieren/encodieren, da muss ich nur PTS und DTS überschreiben. Mit DVB Subtitel mache ich das schon immer so, weil FFmpeg das auch nicht kann.

    Den Video Stream muss ich Decodieren/Encodieren, sonst könnte ich nur an i-frames schneiden. Das ist bei SD noch OK, aber bei HVEC ist das zu ungenau.


    Vorsicht Spoiler: Das kommt dann in der Version 4.1 mit hwaccel im Encoder. Aber das dauert noch, erstmal muss der Decoder mit hwaccel sauber laufen.

    Edited once, last by kfb77 ().

  • Dein Hinweis hat die Lösung gebracht: Ich nutze das Codec Objekt vom Decoder um den Ausgabefile Header schreibe (ja, ich war auch erstaunt, dass das geht) und kopiere dann nur die Pakete ohne zu decodieren/encodieren. Ab der nächsten markad Version kann man dann auch HVEC Video mit AAC LATM Ton schneiden.

Participate now!

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