Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Trouble Building QMultimedia and FFMpeg on Debian x86_64
Forum Updated to NodeBB v4.3 + New Features

Trouble Building QMultimedia and FFMpeg on Debian x86_64

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
5 Posts 3 Posters 523 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    madameAlisi
    wrote on last edited by
    #1

    HI All,
    I'm stumped at building Qt on Debian X86_64.
    The FFMPEG plugin with FFMPEG-7.0.0 will not link at all:
    /home/alisi/kde/src/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegencodingformatcontext.cpp:90:48: error: invalid conversion from ‘int ()(void, uint8_t*, int)’ {aka ‘int ()(void, unsigned char*, int)’} to ‘int ()(void, const uint8_t*, int)’ {aka ‘int ()(void, const unsigned char*, int)’} [-fpermissive]
    90 | &writeQIODevice, &seekQIODevice);
    | ^~~~~~~~~~~~~~~
    | |
    | int ()(void, uint8_t*, int) {aka int ()(void, unsigned char*, int)}
    In file included from /home/alisi/src/ffmpeg-7.0/libavformat/avformat.h:319,
    from /home/alisi/kde/src/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegdefs_p.h:19,
    from /home/alisi/kde/src/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegencodingformatcontext_p.h:7,
    from /home/alisi/kde/src/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegencodingformatcontext.cpp:4:
    /home/alisi/src/ffmpeg-7.0/libavformat/avio.h:404:25: note: initializing argument 6 of ‘AVIOContext* avio_alloc_context(unsigned char*, int, int, void*, int ()(void, uint8_t*, int), int ()(void, const uint8_t*, int), int64_t ()(void, int64_t, int))’
    404 | int (*write_packet)(void *opaque, const uint8_t *buf, int buf_size),
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    [18/46] Building CXX object src/multimediawidgets/CMakeFiles/MultimediaWidgets.dir/qvideowidget.cpp.o
    [19/46] Building CXX object src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegsymbolsresolveutils.cpp.o
    [20/46] Building CXX object src/multimediaquick/CMakeFiles/MultimediaQuickPrivate.dir/.rcc/qmlcache/MultimediaQuickPrivate_Video_qml.cpp.o
    [21/46] Building CXX object src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPluginPrivate.dir/mediacapture/qgstreamercamera.cpp.o
    [22/46] Building CXX object src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qv4l2camera.cpp.o
    [23/46] Building CXX object src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qeglfsscreencapture.cpp.o
    [24/46] Building CXX object src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPluginPrivate.dir/mediacapture/qgstreamermediacapture.cpp.o
    [25/46] Building CXX object src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPluginPrivate.dir/common/qgstsubtitlesink.cpp.o
    [26/46] Building CXX object src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/recordingengine/qffmpegvideoframeencoder.cpp.o
    [27/46] Building CXX object src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qv4l2cameradevices.cpp.o
    [28/46] Building CXX object src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qx11surfacecapture.cpp.o
    [29/46] Building CXX object src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPluginPrivate.dir/qgstreamerintegration.cpp.o
    [30/46] Building CXX object src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpeghwaccel_vaapi.cpp.o
    [31/46] Building CXX object src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPluginPrivate.dir/qgstreamervideodevices.cpp.o
    [32/46] Building CXX object src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPluginPrivate.dir/mediacapture/qgstreamermediaencoder.cpp.o
    [33/46] Building CXX object src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPluginPrivate.dir/qgstreamerformatinfo.cpp.o
    [34/46] Building CXX object src/plugins/multimedia/gstreamer/CMakeFiles/QGstreamerMediaPluginPrivate.dir/mediacapture/qgstreamerimagecapture.cpp.o
    [35/46] Building CXX object src/multimediaquick/CMakeFiles/MultimediaQuickPrivate.dir/multimediaquickprivate_qmltyperegistrations.cpp.o
    ninja: build stopped: subcommand failed.

    and here's the system info:
    OS: Debian GNU/Linux 12 (bookworm) x86_64
    ,$$P' $$$. Kernel: 6.9.1 ',$$P ,ggs. $$b: Uptime: 12 hours, 10 mins
    d$$' ,$P"' . $$$ Packages: 5036 (dpkg), 42 (flatpak) $$P d$' , $$P Shell: bash 5.2.15 $$: $$. - ,d$$' Resolution: 3440x1440 $$; Y$b._ _,d$P' DE: Plasma 5.27.5 Y$$. ."Y$$$$P"' WM: kwin $$b "-.__ Theme: [Plasma], Breeze [GTK3]
    Y$$ Icons: [Plasma], breeze-dark [GTK2/3] Y$$. Terminal: konsole
    $$b. CPU: AMD Ryzen 9 5950X (32) @ 3.400GHz Y$$b. GPU: AMD ATI Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT
    `"Y$b._ Memory: 18610MiB / 64220MiB

    Can anyone help me with this one, please??

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi and welcome to devnet,

      Which version of Qt are you trying to build ?
      Why not use your distribution ffmpeg libraries ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      M 1 Reply Last reply
      1
      • Christian EhrlicherC Offline
        Christian EhrlicherC Offline
        Christian Ehrlicher
        Lifetime Qt Champion
        wrote on last edited by
        #3

        Ffmpeg 7 changed a signature of a callback. Either use an older ffmpeg version or fix the callback signature by yourself - afair only a 'const' was added.

        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
        Visit the Qt Academy at https://academy.qt.io/catalog

        1 Reply Last reply
        1
        • SGaistS SGaist

          Hi and welcome to devnet,

          Which version of Qt are you trying to build ?
          Why not use your distribution ffmpeg libraries ?

          M Offline
          M Offline
          madameAlisi
          wrote on last edited by
          #4

          @SGaist Hello! Thank you for the welcome.

          I'm rather new at building QT, I usually just use Debian and the provided Qt5 libraries. BUT, I am trying to get into Qt6 and KDE6 which is totally, completely, not usable inside the current Debian deb packages available. So I thought, "why not just build it?"

          It turns out it's a bit more complicated than I originally thought :)

          The reason I was using FFMpeg 7.x.x is because I was using it for another project and I already had the sources available in my projects folder, and actually compiled and ready to go. Unfortunately It sounds like those libraries won't work for me.

          (I compiled FFMPEG 7.x.x. for access to newer AMD hardware encoding routines for my Radeon card.)

          @Christian Ehrlicher - As I stated above :) I was just trying to use 7.x.x to make it work with what I had in-hand. I will be happy to use an earlier branch if that helps!!

          This is a large project and there are a lot of gotchas. It's definitely been an experience and I definitely appreciate the guidance. I'll try with a recent 6.x.x version and see what happens!!

          Thanks,
          -Alisi

          1 Reply Last reply
          0
          • M Offline
            M Offline
            madameAlisi
            wrote on last edited by
            #5

            @SGaist ; @Christian-Ehrlicher you guys are the best. FFMpeg-6.1.1 links and compiles with QT just fine!
            Thank you very much again.

            1 Reply Last reply
            0

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved