vt-enc is a bash script that simplifies the process of encoding videos with FFmpeg using Apple’s VideoToolbox framework on macOS. It provides an easy-to-use command-line interface for encoding videos with various options, including codec selection, quality settings, and scaling.

  • EarMaster@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    3 months ago

    An alternative: https://alfg.dev/ffmpeg-commander/

    Provides a web interface to generate ffmpeg commands (works on every platform).

    Out of interest: What does VideoToolbox do in that context? I found nothing in the readme that would require anything else than just ffmpeg. Or is it just the compiling of a custom ffmpeg build that is VT specific?

        • Gianni R@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          3 months ago

          vt-enc calls FFmpeg which calls the VideoToolbox encoding framework. Without VT, ffmpeg commands will fail

          • EarMaster@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            3 months ago

            But ffmpeg works fine on other platforms without VideoToolbox. So why do I need VT for vt-enc? Wouldn’t it work just fine on other platforms as long as ffmpeg is available?

            • Gianni R@lemmy.mlOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              3 months ago

              You need VideoToolbox for this particular tool because it calls the VideoToolbox library from within FFmpeg in order to encode the video.

              “Why do I need x264 to encode H.264 in FFmpeg?” is essentially what you’re asking. FFmpeg needs VideoToolbox support to work with my tool.

              If you’re asking why I chose to use VideoToolbox in the first place, it was because I want this to be a macOS-specific tool with very fast encoding speeds at decent fidelity per bit. Hardware accelerated video encoding is one way to make this happen.