LINUX.ORG.RU

Нейросети в Firefox, а-ля Яндекс.Браузер

 , ,


4

6

Не секрет, что в Яндекс.Браузер реализован голосовой перевод видео. Знаю, что для некоторых пользователей, эта возможность была решающей при выборе браузера.

Но оказывается, уже давно (с 2021 года) можно прикрутить данную фишку и на firefox. Суть проста:

  • Установка расширения Tampermonkey
  • Установка скрипта с github (форк)
  • При воспроизведении, нажать на всплывающий значок вверху-середине видео

Возможно понадобится дать разрешение на автовоспроизведение «аудио и видео» (значок в адресной строке).


Проверил на ютубе с BBC News, ok.
Источник с 4pda

p.s. Специально не упомянул Chrome, ‘конкуренты’ пусть горят синим пламенем. :)


Обновление:
Добавлена консольная vot-cli.

★★★

Последнее исправление: krasnh (всего исправлений: 2)

Список поддерживаемых сайтов:
<...>
* XVideos
* PornHub
<...>

Хороший переводчик, интересный. Объясните мне, что на этих сайтах вы собрались переводить?

-- Сводная сестра, что ты делаешь в стиральной машине?

-- О мой сводный брат, я застряла.

звук расстегиваемой ширинки
cocucka ★★★★☆
()
Последнее исправление: cocucka (всего исправлений: 1)

Такое себе. Если я испанского не знаю, то просто не смотрю видео на испанском. У BBC есть приличная русская служба и не менее годная украинская. Английский там тоже не очень запутанный (как и на CNN, впрочем) – можно подтянуть аудирование и словарный запас. Зачем слушать заикающегося робота, начитывающего надмозговый перевод, решительно непонятно.

Vidrele ★★
()
Ответ на: комментарий от Vidrele

BBC News, это я ткнул пальцем в небо. Нужно было чем-то провериться.

А так и сам раньше думал, зачем это, когда читал про эту фишку на Яндекс.Браузер. Но вот иногда, стали попадаться ситуации, когда автор интересный, но свои видеподкасты выпускает только на en аудиторию.

krasnh ★★★
() автор топика
Ответ на: комментарий от krasnh

Итак, ты достаточно любознателен, чтобы интересоваться:

  • СПО;
  • англоязычными авторами подкастов;
  • нейропереводом видео.

И ты достаточно сообразителен, чтобы выуживать авторский замысел из кривых переводов.

То есть, у тебя есть все данные, чтобы осилить понимание английского на слух.

Vidrele ★★
()
Ответ на: комментарий от massimus

Я например с листа что угодно вплоть до научных текстов

вплоть до

Их проще всего читать, вообще-то, с точки зрения языка. Если с темой знаком, конечно (если не знаком, то и на родном тяжело). Сложнее всего художка.

CrX ★★★
()
Ответ на: комментарий от cocucka

что на этих сайтах вы собрались переводить?

ah-ah-ah-aaaa

перевод:

ых-ых-ых-ыыыы

дисклаймер - ни одно жЫвотное не пострадало, текст перевода распространяется бесплатно

olelookoe ★★★
()
Ответ на: комментарий от alex1101

Даров, Фрактал. Делириума подменяешь? Смотри, я попробовал и чуть ИРЛ следом за ним не отъехал, при том от похожей же причины, правда без короны обошлось у меня, другая инфекция вызвала похожие эффекты.

Так что тоже за здоровьем следи, не болей и оставь лавры Делириума ему самому. Он их честно заслужил, второго Делириума нам не надо, давай лучше на другом приколе выезжай, анимешниках там, фурфагах любителях май литтл пони, много всего весёлого осталось на ЛОР-е.

peregrine ★★★★★
()
Ответ на: комментарий от ox55ff

Никто ведь и не говорил, что это какая-то оригинальная разработка. Парни прикрутили фичу Яндекс.Браузер на другие браузеры. За что им честь и хвала.

krasnh ★★★
() автор топика

По «просьбам трудящихся» (1), автор написал консольную vot-cli.

Команды:

    vot-cli <link> - получить перевод по ссылке
    vot-cli --help - получить помощь по команде
    vot-cli --version - получить версию приложения
    vot-cli --output=<path> - указать путь для сохранения файла


Идея полезная, в плане использования в скриптах помимо браузера. Но пока еще сырая, о чем предупреждает и сам автор:

  • Иногда при загрузке файл может не перевестись/не загрузиться. Если это произошло попробуйте еще раз. (может быть это у меня какие-то проблемы с интернетом)
  • Я впервые попытался написать что-то подобное, поэтому получилось далеко не идеально. Есть какие-то рандомные ошибки соединения происходящие при отправке запроса DownloaderHelper (прокомментировано в коде) или Axios, и я не знаю как их исправить :(

p.s. Я уже попробовал тестово с внешним плеером (играют обе аудиодорожки с приглушением первой):

mpv "URL_youtube" --audio-files-append='URL_vtrans' --lavfi-complex='[aid1]volume=0.2[vol1];[aid2]volume=1.0[vol2];[vol1][vol2]amix[ao]'
krasnh ★★★
() автор топика
Ответ на: комментарий от t184256

Что с ней не так? Кроме того, что работает не на территории РФ и заблокирована? Ну так это плюс-минус все нормальные СМИ в РФ сейчас так, хочешь новости - обходишь блокировочку.

nebularia ★★★
()
Ответ на: комментарий от Vidrele

BBC есть приличная русская служба и не менее годная украинская. Английский там тоже не очень запутанный (как и на CNN, впрочем) 

Журнализм мёртв, и все СМИ транслируют одни и те же факты и одни и те же их интерпретации, поэтому всё равно на каком языке их смотреть или читать. FTFY.

emorozov
()
2 января 2023 г.

Вот если бы еще без nodejs… Пробовал сделать запрос с помощью grpcurl, но ничего не вышло. Не понимаю я эти protobuf. Использую так

yt_video="https://www.youtube.com/watch?v=9laxdMKTZLA"; vot_audio=$(vot-cli "$yt_video" | cut -d " " -f 6 | tr -d $'\n'); mpv "$yt_video" --external-file="$vot_audio" --lavfi-complex='[aid1]volume=0.5[vol1];[aid2]volume=3dB[vol2];[vol1][vol2]amix[ao]'

но при первом обращении бесконечно ждет ответа сервера.

tyusha
()
Ответ на: комментарий от tyusha

но при первом обращении бесконечно ждет ответа сервера.

Я специально выше оставил авторскую ремарку, Нейросети в Firefox, а-ля Яндекс.Браузер (комментарий):


 -   Иногда при загрузке файл может не перевестись/не загрузиться ....
 -   Я впервые попытался написать что-то подобное, поэтому получилось далеко не идеально ....



В надежде, кому интересна именно консольная версия и есть знания javascript/NodeJS, подключатся к доработке на странице автора.

p.s. В браузерной версии у меня проблем не было, все работает достойно.

krasnh ★★★
() автор топика
9 сентября 2023 г.
27 марта 2024 г.
Ответ на: комментарий от tyusha

У меня вообще при установке пакета vot-cli ошибка.

==> Запускается pkgver()...
==> Обновлённая версия: 'vot-cli-git 1.3.0.r8.g68b380a-1'
==> Исходные файлы готовы.
==> ОШИБКА: Cannot find the debugedit binary required for including source files in debug packages.
 -> ошибка сборки: vot-cli-git-exit status 15
проверка зависимостей...

Пакеты (8) c-ares-1.27.0-1  libngtcp2-1.4.0-1  libuv-1.48.0-1  node-gyp-10.0.1-1  nodejs-21.7.0-1  nodejs-nopt-7.2.0-1  semver-7.6.0-1
           npm-10.5.0-1

Будет освобождено:  63,06 MiB

:: Удалить эти пакеты? [Y/n] 
:: Обработка изменений пакета...
(1/8) удаление npm                                                                    [#################################################] 100%
(2/8) удаление node-gyp                                                               [#################################################] 100%
(3/8) удаление semver                                                                 [#################################################] 100%
(4/8) удаление nodejs-nopt                                                            [#################################################] 100%
(5/8) удаление nodejs                                                                 [#################################################] 100%
(6/8) удаление libuv                                                                  [#################################################] 100%
(7/8) удаление libngtcp2                                                              [#################################################] 100%
(8/8) удаление c-ares                                                                 [#################################################] 100%
:: Запуск post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Refreshing PackageKit...
 -> Не удалось установить следующие пакеты — требуется ручное вмешательство:
vot-cli-git - exit status 15

hikikomori ★★★
()
Ответ на: комментарий от krasnh

А я думаю, что за бинарник. Установил вроде успешно, запускаю скрипт и ничего.

$ yt_video="https://youtu.be/-69Vhf1FMnM"; vot_audio=$(vot-cli "$yt_video" | cut -d " " -f 6 | tr -d $'\n'); mpv "$yt_video" --external-file="$vot_audio" --lavfi-complex='[aid1]volume=0.5[vol1];[aid2]volume=3dB[vol2];[vol1][vol2]amix[ao]'
URL: https://youtu.be/-69Vhf1FMnM is unknown service
(node:167928) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Error parsing option external-files-append (option requires parameter)
Setting commandline option --external-file= failed.
Exiting... (Fatal error)

не понимает видимо URL. Указываю второй:

$ yt_video="https://www.youtube.com/watch?v=-69Vhf1FMnM&feature=youtu.be"; vot_audio=$(vot-cli "$yt_video" | cut -d " " -f 6 | tr -d $'\n'); mpv "$yt_video" --external-file="$vot_audio" --lavfi-complex='[aid1]volume=0.5[vol1];[aid2]volume=3dB[vol2];[vol1][vol2]amix[ao]'
(node:168980) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

В душе не знаю, кто такой punycode. Что-то порог погружения уровня шкатулки Лемаршана. Боюсь как бы вместо видео сенобиты не появились.

hikikomori ★★★
()
Последнее исправление: hikikomori (всего исправлений: 1)
Ответ на: комментарий от hikikomori

punycode

Глянь pacman -Ss punycode.

Но лично у меня способ с vot-cli, который ты пробуешь, не получился. Не знаю в чем там дело, хотя в issues проекта видел, что обсуждались варианты, которые у них работали. А я даже повторяя их, не получал результата.
В браузере же, без проблем.

krasnh ★★★
() автор топика
Последнее исправление: krasnh (всего исправлений: 1)

Попалась тема Порт для mpv с отсылкой на проект Yandex.Translate yt-dlp plugin, основанный на voice-over-translation и vot-cli.
У меня работает.


  • Для арча доустановил пакет python-google-api-python-client.
  • mkdir -p ~/.config/yt-dlp-plugins/YandexTranslate
  • cp yt_dlp_plugins ~/.config/yt-dlp-plugins/YandexTranslate
  • Запуск воспроизведения
    mpv --no-config --ytdl-format='bv[height<=?720][fps<=?30][vcodec!=vp9]+ba' 'https://youtu.be/1LRKWIOJHDs' --ytdl-raw-options-append=use-extractors=YandexTranslate --lavfi-complex="[aid2][aid1]amix=weights='0.2 0.8'[ao]"

###--no-config, чтобы исключить мой mpv.conf, с которым давало ошибку.
###--ytdl-format, ограничить качество до 720p. Дефолт в данном видео 1080p, но можно нарваться и на 8k. )

krasnh ★★★
() автор топика
Ответ на: комментарий от krasnh
cp yt_dlp_plugins ~/.config/yt-dlp-plugins/YandexTranslate

А откуда cp должен брать yt_dlp_plugins?

$ mpv --no-config --ytdl-format='bv[height<=?720][fps<=?30][vcodec!=vp9]+ba' 'https://youtu.be/1LRKWIOJHDs' --ytdl-raw-options-append=use-extractors=YandexTranslate --lavfi-complex="[aid2][aid1]amix=weights='0.2 0.8'[ao]"
[ytdl_hook] ERROR: No suitable extractor found for URL https://youtu.be/1LRKWIOJHDs
[ytdl_hook] youtube-dl failed: unexpected error occurred
Failed to recognize file format.
Exiting... (Errors when loading file)

hikikomori ★★★
()
Ответ на: комментарий от krasnh
$ pacman -Ss punycode.
core/libidn2 2.3.7-1 [установлен]
    Free software implementation of IDNA2008, Punycode and TR46
extra/libidn 1.42-1 [установлен]
    Implementation of the Stringprep, Punycode and IDNA specifications
extra/libidn11 1.33-2
    Implementation of the Stringprep, Punycode and IDNA specifications
multilib/lib32-libidn 1.42-1
    Implementation of the Stringprep, Punycode and IDNA specifications (32 bit)
multilib/lib32-libidn11 1.33-2
    Implementation of the Stringprep, Punycode and IDNA specifications
multilib/lib32-libidn2 2.3.7-1 [установлен]
    Free software implementation of IDNA2008, Punycode and TR46

hikikomori ★★★
()
Ответ на: комментарий от hikikomori

А откуда cp должен брать yt_dlp_plugins?

Ну, я уж не стал подробный сценарий расписывать, лишь схематично отметил важные нюансы. Может и надо было.

git clone https://github.com/gnfalex/YT_yt_dlp_plugin
cd YT_yt_dlp_plugin

cp -r yt_dlp_plugins ~/.config/yt-dlp-plugins/YandexTranslate
krasnh ★★★
() автор топика
Ответ на: комментарий от krasnh

Я уже нить потерял, что делать( Видимо не судьба ролики с локального хранилища перевести без регистрации и смс.

$ yay -Ss nodejs | grep стано
extra/nodejs-nopt 7.2.0-1 (13.3 KiB 30.2 KiB) (Установлено)
extra/nodejs 21.7.0-1 (12.0 MiB 46.9 MiB) (Установлено)

А вдруг 21 нужен другой части системы я что-то поломаю? Я и так уже откатился чуть назад в обновлениях, последнее в системе дров наломало.

hikikomori ★★★
()