From 1778395e8647c193551cc750464098528356958a Mon Sep 17 00:00:00 2001 From: orangepi-xunlong <258384131@qq.com> Date: Thu, 7 Jul 2022 17:38:21 +0800 Subject: [PATCH] Support ffmpeg and kodi for RK3399/jammy/linux5.18 --- .gitignore | 6 +- .../sources/families/include/ffmepg_kodi.inc | 68 ++++++++++++------- external/config/sources/families/rk3399.conf | 17 +++-- .../bsp/{sunxi => kodi}/appliance.xml | 2 +- scripts/main.sh | 10 ++- 5 files changed, 67 insertions(+), 36 deletions(-) rename external/packages/bsp/{sunxi => kodi}/appliance.xml (98%) diff --git a/.gitignore b/.gitignore index b9cf2dc..8713599 100644 --- a/.gitignore +++ b/.gitignore @@ -35,9 +35,9 @@ external/cache/sources/evalcache external/cache/sources/oh-my-zsh external/cache/sources/sunxi-tools external/cache/sources/rkbin-tools +external/cache/sources/orangepi-test external/cache/sources/rk-rootfs-build* -external/cache/sources/orangepi-firmware -external/cache/sources/orangepi-firmware-git -external/cache/sources/ffmpeg_kodi_debian11 +external/cache/sources/orangepi-firmware* +external/cache/sources/ffmpeg_kodi* external/cache/sources/rk3399_gst_xserver_libs external/cache/sources/arm-trusted-firmware-sunxi-mainline diff --git a/external/config/sources/families/include/ffmepg_kodi.inc b/external/config/sources/families/include/ffmepg_kodi.inc index 04f7ad4..fad2f4d 100644 --- a/external/config/sources/families/include/ffmepg_kodi.inc +++ b/external/config/sources/families/include/ffmepg_kodi.inc @@ -1,37 +1,55 @@ function ffmepg_kodi_install() { - #chroot $SDCARD /bin/bash -c "apt-get clean" - #chroot $SDCARD /bin/bash -c "mv /var/lib/apt/lists /tmp" - #chroot $SDCARD /bin/bash -c "mkdir -p /var/lib/apt/lists/partial" - #chroot $SDCARD /bin/bash -c "apt-get clean" + chroot $SDCARD /bin/bash -c "apt-get -q update >/dev/null 2>&1" + #chroot $SDCARD /bin/bash -c "apt-get install -q -y ffmpeg" + #chroot $SDCARD /bin/bash -c "apt-get install -q -y kodi" + #chroot $SDCARD /bin/bash -c "apt-get install -q -y libgles2 libjs-bootstrap lockfile-progs" + chroot $SDCARD /bin/bash -c "apt-get -q update >/dev/null 2>&1" + chroot $SDCARD /bin/bash -c "apt-get install -q -y ffmpeg kodi libgles2 libjs-bootstrap >/dev/null 2>&1" - chroot $SDCARD /bin/bash -c "apt-get -q update" - chroot $SDCARD /bin/bash -c "apt-get install -q -y ffmpeg" - chroot $SDCARD /bin/bash -c "apt-get install -q -y kodi" - chroot $SDCARD /bin/bash -c "apt-get install -q -y libgles2 libjs-bootstrap lockfile-progs" - #chroot $SDCARD /bin/bash -c "apt-get -q update >/dev/null 2>&1" - #chroot $SDCARD /bin/bash -c "apt-get install -q -y ffmpeg kodi libgles2 libjs-bootstrap >/dev/null 2>&1" + if [[ $RELEASE == bullseys ]]; then - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/ffmpeg/libavcodec58_4.3.3-0+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/ffmpeg/libavdevice58_4.3.3-0+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/ffmpeg/libavfilter7_4.3.3-0+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/ffmpeg/libavformat58_4.3.3-0+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/ffmpeg/libavresample4_4.3.3-0+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/ffmpeg/libavutil56_4.3.3-0+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/ffmpeg/libpostproc55_4.3.3-0+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/ffmpeg/libswresample3_4.3.3-0+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/ffmpeg/libswscale5_4.3.3-0+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/ffmpeg/ffmpeg_4.3.3-0+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/ffmpeg/ffmpeg-doc_4.3.3-0+deb11u1_all.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libavcodec58_4.3.4-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libavdevice58_4.3.4-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libavfilter7_4.3.4-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libavformat58_4.3.4-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libavresample4_4.3.4-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libavutil56_4.3.4-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libpostproc55_4.3.4-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libswresample3_4.3.4-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libswscale5_4.3.4-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/ffmpeg_4.3.4-0+deb11u1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/ffmpeg-doc_4.3.4-0+deb11u1_all.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/kodi/kodi_19.1+dfsg2-2+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/kodi/kodi-bin_19.1+dfsg2-2+deb11u1_arm64.deb" - dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_debian11/kodi/kodi-data_19.1+dfsg2-2+deb11u1_all.deb" + kodi_rev=19.1+dfsg2-2+deb11u1 + + fi + + if [[ $RELEASE == jammy ]]; then + + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libavcodec58_4.4.2-0ubuntu0.22.04.1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libavdevice58_4.4.2-0ubuntu0.22.04.1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libavfilter7_4.4.2-0ubuntu0.22.04.1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libavformat58_4.4.2-0ubuntu0.22.04.1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libavutil56_4.4.2-0ubuntu0.22.04.1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libpostproc55_4.4.2-0ubuntu0.22.04.1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libswresample3_4.4.2-0ubuntu0.22.04.1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/libswscale5_4.4.2-0ubuntu0.22.04.1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/ffmpeg_4.4.2-0ubuntu0.22.04.1_arm64.deb" + dpkg_install_deb_chroot "$EXTER/cache/sources/ffmpeg_kodi_$RELEASE/ffmpeg/ffmpeg-doc_4.4.2-0ubuntu0.22.04.1_all.deb" + + kodiversion=19.4+dfsg1-2 + + fi + + dpkg_install_deb_chroot $EXTER/cache/sources/ffmpeg_kodi_${RELEASE}/kodi/kodi_${kodiversion}_arm64.deb + dpkg_install_deb_chroot $EXTER/cache/sources/ffmpeg_kodi_${RELEASE}/kodi/kodi-bin_${kodiversion}_arm64.deb + dpkg_install_deb_chroot $EXTER/cache/sources/ffmpeg_kodi_${RELEASE}/kodi/kodi-data_${kodiversion}_all.deb install_deb_chroot "$EXTER/cache/debs/arm64/usbmount_0.0.24_all.deb" - cp $EXTER/packages/bsp/sunxi/appliance.xml ${SDCARD}/usr/share/kodi/system/settings/appliance.xml + cp $EXTER/packages/bsp/kodi/appliance.xml ${SDCARD}/usr/share/kodi/system/settings/appliance.xml rm $SDCARD/root/*.deb >/dev/null 2>&1 diff --git a/external/config/sources/families/rk3399.conf b/external/config/sources/families/rk3399.conf index 6032680..d4a38ad 100755 --- a/external/config/sources/families/rk3399.conf +++ b/external/config/sources/families/rk3399.conf @@ -1,4 +1,5 @@ source "${BASH_SOURCE%/*}/include/rockchip64_common.inc" +source "${BASH_SOURCE%/*}/include/ffmepg_kodi.inc" BOOTPATCHDIR="u-boot-rockchip64-mainline" BOOT_SOC="rk3399" @@ -52,8 +53,8 @@ case $BRANCH in next) BOOTBRANCH='branch:v2020.10-rockchip64' - KERNELBRANCH='branch:orange-pi-5.17-rockchip64' - LINUXCONFIG='linux-rockchip64-edge' + KERNELBRANCH='branch:orange-pi-5.18' + LINUXCONFIG='linux-5.18-next' [[ ${BOARD} =~ orangepi800|orangepi4-lts ]] && ASOUND_STATE='asound.state.orangepi800-next' ;; @@ -82,15 +83,21 @@ family_tweaks_s() sed -i "s/auto-profiles = yes/auto-profiles = no/" ${SDCARD}/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf - echo "load-module module-alsa-sink device=hw:0,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa - echo "load-module module-alsa-sink device=hw:1,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Headphone or Speaker'\"" >> ${SDCARD}/etc/pulse/default.pa + echo "load-module module-alsa-sink device=hw:0,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Headphone or Speaker'\"" >> ${SDCARD}/etc/pulse/default.pa + echo "load-module module-alsa-sink device=hw:1,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa elif [[ -f ${SDCARD}/etc/pulse/default.pa && ${BOARD} =~ orangepi4|orangepi4-lts ]]; then sed -i "s/auto-profiles = yes/auto-profiles = no/" ${SDCARD}/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf - echo "load-module module-alsa-sink device=hw:1,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa echo "load-module module-alsa-sink device=hw:0,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Headphone'\"" >> ${SDCARD}/etc/pulse/default.pa + echo "load-module module-alsa-sink device=hw:1,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa + + fi + + if [[ $BRANCH == next && $RELEASE == jammy ]]; then + + ffmepg_kodi_install fi } diff --git a/external/packages/bsp/sunxi/appliance.xml b/external/packages/bsp/kodi/appliance.xml similarity index 98% rename from external/packages/bsp/sunxi/appliance.xml rename to external/packages/bsp/kodi/appliance.xml index a04ab88..5b51a08 100644 --- a/external/packages/bsp/sunxi/appliance.xml +++ b/external/packages/bsp/kodi/appliance.xml @@ -49,7 +49,7 @@ - /storage/screenshots/ + /tmp/ diff --git a/scripts/main.sh b/scripts/main.sh index f6c8745..60e2f40 100755 --- a/scripts/main.sh +++ b/scripts/main.sh @@ -441,9 +441,15 @@ if [[ ${IGNORE_UPDATES} != yes ]]; then fi - if [[ ${BOARD} =~ orangepi3|orangepi3-lts && $RELEASE =~ bullseye && $BRANCH==current ]]; then + if [[ ${BOARD} =~ orangepi3|orangepi3-lts && $RELEASE =~ bullseye && $BRANCH == current ]]; then - [[ ${BUILD_OPT} == image ]] && fetch_from_repo "https://github.com/orangepi-xunlong/rk-rootfs-build.git" "${EXTER}/cache/sources/ffmpeg_kodi_debian11" "branch:ffmpeg_kodi_debian11" + [[ ${BUILD_OPT} == image ]] && fetch_from_repo "https://github.com/orangepi-xunlong/rk-rootfs-build.git" "${EXTER}/cache/sources/ffmpeg_kodi_${RELEASE}" "branch:ffmpeg_kodi_${RELEASE}" + + fi + + if [[ ${BOARD} =~ orangepi4|orangepi4-lts|orangepi800 && $RELEASE =~ jammy && $BRANCH == next ]]; then + + [[ ${BUILD_OPT} == image ]] && fetch_from_repo "https://github.com/orangepi-xunlong/rk-rootfs-build.git" "${EXTER}/cache/sources/ffmpeg_kodi_${RELEASE}" "branch:ffmpeg_kodi_${RELEASE}" fi