Просьба обновить, а то Яндекс Браузер из оф. репы для альт (https://repo.yandex.ru/yandex-browser/alt/) пишет, что устаревшая версия и не проигрывает видео: $ yandex-browser-stable --version /usr/lib64/ffmpeg-plugin-browser/libffmpeg.so: FFmpeg version is too old. /usr/lib64/yandex/browser/libffmpeg.so: Ffmpeg not found. find_ffmpeg failed, using the integrated library. Yandex 25.12.1.1293 stable
Если собрать для 142-й версии (коммит 9e751092c9498b84bbb77e2e0689ef9f50fe608f в https://chromium.googlesource.com/chromium/third_party/ffmpeg.git) и поправить пару патчей: diff --git a/.gear/armv6-ffmpeg-no-thumb.patch b/.gear/armv6-ffmpeg-no-thumb.patch index 1a18225efb..fa7076f953 100644 --- a/.gear/armv6-ffmpeg-no-thumb.patch +++ b/.gear/armv6-ffmpeg-no-thumb.patch @@ -1,9 +1,9 @@ --- a/chromium/config/Chromium/linux/arm/config.h +++ b/chromium/config/Chromium/linux/arm/config.h -@@ -635,7 +635,7 @@ - #define CONFIG_OSSFUZZ 0 +@@ -672,7 +672,7 @@ #define CONFIG_PIC 1 #define CONFIG_PTX_COMPRESSION 0 + #define CONFIG_RESOURCE_COMPRESSION 0 -#define CONFIG_THUMB 1 +#define CONFIG_THUMB 0 #define CONFIG_VALGRIND_BACKTRACE 0 diff --git a/.gear/ffmpeg-chromium-120.patch b/.gear/ffmpeg-chromium-120.patch index 46967b6a0f..6e3aeed098 100644 --- a/.gear/ffmpeg-chromium-120.patch +++ b/.gear/ffmpeg-chromium-120.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -6775,14 +6775,14 @@ enabled libopenvino && { { check_p +@@ -7132,14 +7132,14 @@ { check_pkg_config libopenvino openvino c_api/ie_c_api.h ie_c_api_version || require libopenvino c_api/ie_c_api.h ie_c_api_version -linference_engine_c_api; } } # Chromium uses a built in copy of libopus that is not visible to pkg-config. @@ -20,6 +20,6 @@ + require_pkg_config libopus opus opus_multistream.h opus_multistream_surround_encoder_create + } +} - enabled libplacebo && require_pkg_config libplacebo "libplacebo >= 4.192.0" libplacebo/vulkan.h pl_vulkan_create + enabled libplacebo && require_pkg_config libplacebo "libplacebo >= 5.229.0" libplacebo/vulkan.h pl_vulkan_create enabled libpulse && require_pkg_config libpulse libpulse pulse/pulseaudio.h pa_context_new - enabled librabbitmq && require_pkg_config librabbitmq "librabbitmq >= 0.7.1" amqp.h amqp_new_connection + enabled libqrencode && require_pkg_config libqrencode libqrencode qrencode.h QRcode_encodeString то всё корректно работает и видео проигрывается: $ yandex-browser-stable --version /usr/lib64/ffmpeg-plugin-browser/libffmpeg.so: Ffmpeg version is OK! Let's use it. Yandex 25.12.1.1293 stable
Можно взять отсюда https://git.altlinux.org/people/nenderus/packages/?p=ffmpeg-plugin-browser.git&a=commit&h=119329600373199b6c6825b3e999b38077065058 - собирается и работает
Он предназначен только для пакета yandex-browser-stable https://packages.altlinux.org/ru/sisyphus/srpms/yandex-browser-stable/
(Ответ для Sergey V Turchin на комментарий #3) > Он предназначен только для пакета yandex-browser-stable > https://packages.altlinux.org/ru/sisyphus/srpms/yandex-browser-stable/ По сути в репозитории на Яндексе это обновление этого пакета по сути, но да, более старая версия в нашем репозитории не работает с новым ffmpeg. Сделаю отдельный пакет (с указанием версии прямо в имени пакета, по примеру дров для Нвидиа)
(Ответ для Денис Назаров на комментарий #4) > Сделаю отдельный пакет (с указанием версии прямо в имени пакета, по примеру > дров для Нвидиа) nvidia по файлам не пересекается.
(Ответ для Sergey V Turchin на комментарий #5) > nvidia по файлам не пересекается. Не страшно, есть Conflicts же.
прописывать конфликты со всеми пакетами так себе идея.
(Ответ для Anton Farygin на комментарий #7) > прописывать конфликты со всеми пакетами так себе идея. Ну а какие ещё варианты?
(Ответ для Денис Назаров на комментарий #8) > Ну а какие ещё варианты? Хотя придумал, можно паковать по этому пути /usr/lib64/yandex/browser/libffmpeg.so: Ffmpeg not found. тогда конфликтов не должно быть
(Ответ для Денис Назаров на комментарий #9) > Хотя придумал, можно паковать по этому пути > /usr/lib64/yandex/browser/libffmpeg.so: Ffmpeg not found. > тогда конфликтов не должно быть А ffmpeg-plugin-browser-143? А ffmpeg-plugin-browser-151?
(Ответ для Sergey V Turchin на комментарий #10) > А ffmpeg-plugin-browser-143? А ffmpeg-plugin-browser-151? Не, в смысле можно сделать что-то типа ffmpeg-plugin-yandex-browser, который будет содержать только /usr/lib64/yandex/browser/libffmpeg.so
(Ответ для Денис Назаров на комментарий #11) > можно сделать что-то типа ffmpeg-plugin-yandex-browser, который > будет содержать только > /usr/lib64/yandex/browser/libffmpeg.so Это да. Насчёт имени пакета -- не знаю. Возможно, лучше, чтоб там на было отсылок.