Автор Тема: Яндекс.браузер (Yandex.browser) что-нибудь поменялось ?  (Прочитано 44490 раз)

Оффлайн aleksey-v.

  • Завсегдатай
  • *
  • Сообщений: 347
Увы, это оказалось актуальным только для Ubuntu.  Для Alt библиотеки по-прежнему надо добавлять руками.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Увы, это оказалось актуальным только для Ubuntu.  Для Alt библиотеки по-прежнему надо добавлять руками.
Напишите в техническую поддержку Яндекса, которые не умеют собирать пакеты.
Андрей Черепанов (cas@)

Оффлайн aleksey-v.

  • Завсегдатай
  • *
  • Сообщений: 347
Напишу.

Для Ubuntu у них получилось.  ;-)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
А они не умеют собирать пакеты для разных дистрибутивов.
Андрей Черепанов (cas@)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Из примечаний от службы поддержки:
Цитировать
..извлечь оттуда библиотеку libffmpeg.so и положить в /opt/yandex/browser-beta/ . Важно разместить именно в /opt/yandex/browser-beta , не в /opt/yandex/browser-beta/lib

Также можно:
Убрать нахрен встроенную библиотеку
# file /opt/yandex/browser-beta/lib/libffmpeg.so
/opt/yandex/browser-beta/lib/libffmpeg.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

заменив её свежей библиотекой из github:
https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases

Но в этом случае, установка более свежей версии этого браузера, грохнет эту библиотеку в lib/.
Проблема в сраной встроенной библиотеке.
Но вворачивать либы руками, это конечно интересно придумано техподдержкой.


На встроенной в rpm-пакет браузера библиотеке:
$ yandex-browser-beta http://кино-в-h264.html
Found ffmpeg: /opt/yandex/browser-beta/lib/libffmpeg.so
avcodec: 3817828
avformat: 3810149
avutil: 3679333
Ffmpeg version is OK! Let's use it.

...
[19920:14:0613/123730.141857:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"video decoder initialization failed"}
[19920:1:0613/123730.146563:ERROR:batching_media_log.cc(35)] MediaEvent: {"pipeline_error":15}
« Последнее редактирование: 13.06.2020 12:41:48 от Speccyfighter »

Оффлайн trs

  • Давно тут
  • **
  • Сообщений: 284
libffmpeg.so из поставки заменять не обязательно.
Версию с кодеками правильнее расположить в /opt/yandex/browser-betalibffmpeg.so
$ yandex-browser-beta
Found ffmpeg: /opt/yandex/browser-beta/libffmpeg.so
avcodec: 3817828
avformat: 3810149
avutil: 3679333

В новых пакетах ЯБ появился скрипт /opt/yandex/browser-beta/update-ffmpeg
#!/bin/bash

FFMPEG_VERSION='81.0.4044.138-0ubuntu0.16.04.1'

# Yandex Browser for linux works on x64 machines
# https://packages.ubuntu.com/bionic-updates/amd64/chromium-codecs-ffmpeg-extra/download
FFMPEG_MIRRORS=(
  # Russia
  "https://mirror.yandex.ru/ubuntu/pool/universe/c/chromium-browser/chromium-codecs-ffmpeg-extra_${FFMPEG_VERSION}_amd64.deb"
  # Europe
  "http://de.archive.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/chromium-codecs-ffmpeg-extra_${FFMPEG_VERSION}_amd64.deb"
  # America
  "http://mirrors.kernel.org/ubuntu/pool/universe/c/chromium-browser/chromium-codecs-ffmpeg-extra_${FFMPEG_VERSION}_amd64.deb"
  # Asia
  "http://kr.archive.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/chromium-codecs-ffmpeg-extra_${FFMPEG_VERSION}_amd64.deb"
  # Africa
  "http://za.archive.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/chromium-codecs-ffmpeg-extra_${FFMPEG_VERSION}_amd64.deb"
)

download_ffmpeg () {
  DOWNLOAD="wget -O$1"
  for idx in ${!FFMPEG_MIRRORS[*]}; do
    $DOWNLOAD "${FFMPEG_MIRRORS[$idx]}"
    if [ $? -eq 0 ]; then
      return 0
    fi
  done
  return 1
}

update_ffmpeg () {
  FFMPEG_DIR=$(mktemp -d) || return 1
  FFMPEG_FILE=$(mktemp -p $FFMPEG_DIR) || return 1
  trap "rm -rf $FFMPEG_DIR" EXIT

  cd $FFMPEG_DIR &&
    download_ffmpeg $FFMPEG_FILE &&
    ar -x $FFMPEG_FILE &&
    tar xf "data.tar.xz" &&
    sudo -p "Install FFMPEG as root, password: " \
      mv "usr/lib/chromium-browser/libffmpeg.so" /opt/yandex/browser-beta
  cd - > /dev/null

  if [ $? -eq 0 ]; then
    echo "FFMPEG codecs (${FFMPEG_VERSION%-*}) have been installed"
  else
    echo "FFMPEG codecs installation failed"
    return 1
  fi
}

update_ffmpeg

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Версию с кодеками правильнее расположить в /opt/yandex/browser-betalibffmpeg.so

:-) Правильнее нормальную библиотеку с браузером собирать руками растущими не из жопы.
И rpm пакет собирать и тестировать не только в Ubuntu:
$ rpm -qpi hlam-yandex-browser/Yandex.rpm | grep 'Build Host'
Build Host  : linux-ubuntu-16-04-xenial

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
В новых пакетах ЯБ появился скрипт /opt/yandex/browser-beta/update-ffmpeg

:-) Ага.
Это с какого перепугу, rpm системе нужно обращаться к репозиторию Ubuntu для распаковки data-архива, да ещё и root -а в sudoers тащить?
Щас. Аж побежал. Роняя тапки на ходу.
« Последнее редактирование: 13.06.2020 16:05:54 от Speccyfighter »

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 234
В новых пакетах ЯБ появился скрипт /opt/yandex/browser-beta/update-ffmpeg

:-) Ага.
Это с какого перепугу, rpm системе нужно обращаться к репозиторию Ubuntu для распаковки data-архива, да ещё и root -а в sudoers тащить?
Щас. Аж побежал. Роняя тапки на ходу.
ну перенесите это в yandex-browser-preinstall  ;-)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Чтобы всякий треш тащить скрыто из неизвестных источников?
Андрей Черепанов (cas@)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
В новых пакетах ЯБ появился скрипт /opt/yandex/browser-beta/update-ffmpeg

:-) Ага.
Это с какого перепугу, rpm системе нужно обращаться к репозиторию Ubuntu для распаковки data-архива, да ещё и root -а в sudoers тащить?
Щас. Аж побежал. Роняя тапки на ходу.
ну перенесите это в yandex-browser-preinstall  ;-)

Оно там так надо, как зайцу стоп-сигнал :-)

Последняя версия libffmpeg.so и это не Latest release (0.44.6), работает в последнем яндекс-браузер
$ wget -q $(curl -s https://api.github.com/repos/iteufel/nwjs-ffmpeg-prebuilt/releases \
| grep "http.*linux-x64.zip" | sort -n | tail -n 1 | awk '{print $2}' \
| sed 's|[\"\,]*||g') && echo; unzip -l *-linux-x64.zip

Archive:  0.45.1-linux-x64.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
 16174480  2020-04-11 10:32   libffmpeg.so
---------                     -------
 16174480                     1 file

А последняя версия браузера собрана в конце мая
$ rpm -qi yandex-browser-beta | grep '^Vers\|Build Date'
Version     : 20.4.3.268
Build Date  : Ср 20 мая 2020 12:20:54

У яндекса руки не оттуда растут собрать последнюю рабочую либу версии 0.45.1 в браузер? Шоб работало прямо из коробки.

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 234
У яндекса руки не оттуда растут собрать последнюю рабочую либу версии 0.45.1 в браузер? Шоб работало прямо из коробки.
подозреваю что они не хотят чтобы к ним пришли трясти бабло за патенты.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
libffmpeg.so с github:
$ readelf -d libffmpeg.so | grep NEEDED
 0x0000000000000001 (NEEDED)             Совм. исп. библиотека: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Совм. исп. библиотека: [librt.so.1]
 0x0000000000000001 (NEEDED)             Совм. исп. библиотека: [libm.so.6]
 0x0000000000000001 (NEEDED)             Совм. исп. библиотека: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Совм. исп. библиотека: [libc.so.6]

Что есть в системе на alt-p9-xfce-sysv:
$ find /usr/lib64 -name "*libpthread.so*"
/usr/lib64/libpthread.so
$ find /usr/lib64 -name "*librt.so*"
/usr/lib64/librt.so
$ find /usr/lib64 -name "*libm.so*"
/usr/lib64/libm.so
$ find /usr/lib64 -name "*libgcc_s.so*"
/usr/lib64/gcc/x86_64-alt-linux/8/libgcc_s.so
$ find /usr/lib64 -name "*libc.so*"
/usr/lib64/libc.so

Оффлайн aleksey-v.

  • Завсегдатай
  • *
  • Сообщений: 347
Странные изменения в их скриптах.  ???

Требует ar из binutils.
Несмотря на пользователя root, пытается использовать sudoers.
И хочет использовать atd.



Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Странные изменения в их скриптах.  ???

Требует ar из binutils.
Несмотря на пользователя root, пытается использовать sudoers.
И хочет использовать atd.

Это говно не пытается. Оно использует:
# less -N /opt/yandex/browser-beta/update-ffmpeg | sed -n '35,43p'

  cd $FFMPEG_DIR &&
    download_ffmpeg $FFMPEG_FILE &&
    ar -x $FFMPEG_FILE &&
    tar xf "data.tar.xz" &&
    sudo -p "Install FFMPEG as root, password: " \
      mv "usr/lib/chromium-browser/libffmpeg.so" /opt/yandex/browser-beta
  cd - > /dev/null

$ sudo --help | grep '\-p,'
  -p, --prompt=prompt           использовать указанный запрос пароля

Причём что характерно, в системе, где timestamp аж 15 минут.
« Последнее редактирование: 14.06.2020 22:40:19 от Speccyfighter »