A cross-platform multimedia playback framework based on Qt and FFmpeg
runtime dependencies | qt5quickcontrols (Graphic libraries and applications/Other GUIs) |
---|---|
qt5svg (Graphic libraries and applications/Other GUIs) | |
qt5declarative (Graphic libraries and applications/Other GUIs) | |
qt5multimedia (Graphic libraries and applications/Other GUIs) | |
ffmpeg (Audio and video applications) | |
openal (Libraries/Audio/Sound) | |
xlib_libXv (Graphic libraries/X11R7 Applications) | |
uchardet | |
build dependencies | sip-tools |
apt install sip-tools
mkdir /data/buildroot/package/qtavplayer cat > /data/buildroot/package/qtavplayer/Config.in<< 'EOF' config BR2_PACKAGE_QTAVPLAYER bool "qtavplayer" depends on BR2_PACKAGE_QT5QUICKCONTROLS depends on BR2_PACKAGE_QT5SVG depends on BR2_PACKAGE_QT5DECLARATIVE depends on BR2_PACKAGE_QT5MULTIMEDIA depends on BR2_PACKAGE_FFMPEG depends on BR2_PACKAGE_OPENAL depends on BR2_PACKAGE_XLIB_LIBXV depends on BR2_PACKAGE_UCHARDET help A cross-platform multimedia playback framework based on Qt and FFmpeg EOF cat > /data/buildroot/package/qtavplayer/qtavplayer.mk<< 'EOF' ############################################################# # # qtavplayer #https://github.com/wang-bin/QtAV/archive/refs/tags/v1.12.0.tar.gz ############################################################# QTAVPLAYER_SITE = https://github.com/valbok/QtAVPlayer.git QTAVPLAYER_SITE_METHOD = git QTAVPLAYER_DEPENDENCIES = qt5quickcontrols qt5svg qt5declarative ffmpeg openal xlib_libXv uchardet QTAVPLAYER_INSTALL_TARGET = YES QTAVPLAYER_SUPPORTS_IN_SOURCE_BUILD = NO QTAVPLAYER_CONF_OPTS = -DCMAKE_TOOLCHAIN_FILE=$(HOST_DIR)/share/buildroot/toolchainfile.cmake \ -DQt5Multimedia_DIR=$(TARGET_DIR)/usr/share/cmake/Qt5Multimedia \ -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_TESTING=OFF \ -DBUILD_QCH=OFF define QTAVPLAYER_CONFIGURE_CMDS if [[ ! -d $(@D)/qtavplayer ]];then git clone $(QTAVPLAYER_SITE) $(@D)/qtavplayer; fi if [[ ! -L "$(HOST_DIR)/usr/lib/libpcre.so.3" ]]; then ln -s $(HOST_DIR)/usr/lib/libpcre.so $(HOST_DIR)/usr/lib/libpcre.so.3; fi if [[ ! -d $(@D)/buildroot-build ]]; then mkdir $(@D)/buildroot-build; fi cd $(@D)/buildroot-build && \ LDFLAGS="$(LDFLAGS) -pthread -Wl,--as-needed -Wl,--allow-shlib-undefined" cmake "$(@D)/qtavplayer/" $(QTAVPLAYER_CONF_OPTS) endef $(eval $(cmake-package)) EOF sed -i '/menu "Custom packages"/a source "package/qtavplayer/Config.in"' /data/buildroot/package/Config.in