Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Перевод видео с любых сайтов если в параметре videoID передавать прямую ссылку на видеофайл. #419

Open
ivdos opened this issue Nov 18, 2023 · 34 comments

Comments

@ivdos
Copy link

ivdos commented Nov 18, 2023

В общем сабж. Ради интереса решил добавить сайт hentaicity(ахтунг NSFW). Эксперементируя со значениями videoID ничего путного добиться не удалось, но потом я решил проверить, а что будет если передать ссылку на видеофайл и все заработало. Конечно один сайт не показатель, нужно еще провести эксперименты, но пока это внушает надежду.

собственно немного кода:

case "hentaicity": if(url.pathname.match(/video\/.+-([A-z\d]+)/)?.[0]){ const link = document.querySelector('meta[property="og:video:url"]').content; return link?.split("www.hentaicity.com")?.[1] }

@SashaXser
Copy link

SashaXser commented Nov 18, 2023

В общем сабж. Ради интереса решил добавить сайт hentaicity(ахтунг NSFW). Эксперементируя со значениями videoID ничего путного добиться не удалось, но потом я решил проверить, а что будет если передать ссылку на видеофайл и все заработало. Конечно один сайт не показатель, нужно еще провести эксперименты, но пока это внушает надежду.

собственно немного кода:

case "hentaicity": if(url.pathname.match(/video\/.+-([A-z\d]+)/)?.[0]){ const link = document.querySelector('meta[property="og:video:url"]').content; return link?.split("www.hentaicity.com")?.[1] }

Попробуй на других сайтах и отпиши о результатах. По-моему Яндекс использует ytdl, значит поддержки сайтов зависят от него.

@ivdos
Copy link
Author

ivdos commented Nov 18, 2023

В общем сабж. Ради интереса решил добавить сайт hentaicity(ахтунг NSFW). Эксперементируя со значениями videoID ничего путного добиться не удалось, но потом я решил проверить, а что будет если передать ссылку на видеофайл и все заработало. Конечно один сайт не показатель, нужно еще провести эксперименты, но пока это внушает надежду.
собственно немного кода:
case "hentaicity": if(url.pathname.match(/video\/.+-([A-z\d]+)/)?.[0]){ const link = document.querySelector('meta[property="og:video:url"]').content; return link?.split("www.hentaicity.com")?.[1] }

Попробуй на других сайтах и отпиши о результатах.

Spankbang.com - работает. Но так-как прямая ссылка на другой хостинг, то нужно указывать
host: "spankbang", url: "https://vdownload-45.sb-cd.com/", match: /^(www.|ru.)?spankbang.com$/, selector: ".video-js"

Ссылка такого вида https://vdownload-45.sb-cd.com/1/2/12964514-720p.mp4?secure=va6o1k5lKErlGa5HQ7vgzg,1700344972&m=45&d=1&_tid=12964514
Как я понимаю может меняться поддомен от видео к видео. Плюс сама ссылка динамическая. Поэтому с нынешней реализацией тяжеловато будет.

@SashaXser
Copy link

В общем сабж. Ради интереса решил добавить сайт hentaicity(ахтунг NSFW). Эксперементируя со значениями videoID ничего путного добиться не удалось, но потом я решил проверить, а что будет если передать ссылку на видеофайл и все заработало. Конечно один сайт не показатель, нужно еще провести эксперименты, но пока это внушает надежду.

собственно немного кода:

case "hentaicity": if(url.pathname.match(/video\/.+-([A-z\d]+)/)?.[0]){ const link = document.querySelector('meta[property="og:video:url"]').content; return link?.split("www.hentaicity.com")?.[1] }

Попробуй на других сайтах и отпиши о результатах.

В общем сабж. Ради интереса решил добавить сайт hentaicity(ахтунг NSFW). Эксперементируя со значениями videoID ничего путного добиться не удалось, но потом я решил проверить, а что будет если передать ссылку на видеофайл и все заработало. Конечно один сайт не показатель, нужно еще провести эксперименты, но пока это внушает надежду.
собственно немного кода:
case "hentaicity": if(url.pathname.match(/video\/.+-([A-z\d]+)/)?.[0]){ const link = document.querySelector('meta[property="og:video:url"]').content; return link?.split("www.hentaicity.com")?.[1] }

Попробуй на других сайтах и отпиши о результатах.

Spankbang.com - работает. Но так-как прямая ссылка на другой хостинг, то нужно указывать host: "spankbang", url: "https://vdownload-45.sb-cd.com/", match: /^(www.|ru.)?spankbang.com$/, selector: ".video-js"

Ссылка такого вида https://vdownload-45.sb-cd.com/1/2/12964514-720p.mp4?secure=va6o1k5lKErlGa5HQ7vgzg,1700344972&m=45&d=1&_tid=12964514 Как я понимаю может меняться поддомен от видео к видео. Плюс сама ссылка динамическая. Поэтому с нынешней реализацией тяжеловато будет.

ytdl поддерживает Spankbang, разве нативно без хостинга нельзя перевести?

@ivdos
Copy link
Author

ivdos commented Nov 18, 2023

ytdl поддерживает Spankbang, разве нативно без хостинга нельзя перевести?

Ну во первых я не знал что в бэке там используется ytdl, нативно как я только не изголялся - не получилось, вполне возможно это просто у меня ручки кривые.
upd: вряд ли кривые ручки, нихрена не пашет, перпробовал все шаблоны, ни в какую.

Ща еще на разных сайтах потещу.

@ilyhalight
Copy link
Owner

ytdl поддерживает Spankbang, разве нативно без хостинга нельзя перевести?

Ну во первых я не знал что в бэке там используется ytdl, нативно как я только не изголялся - не получилось, вполне возможно это просто у меня ручки кривые. upd: вряд ли кривые ручки, нихрена не пашет, перпробовал все шаблоны, ни в какую.

Скорее, даже, не обычный yt-dl, а yt-dlp, либо какой-то свой форк, ибо в обычном yt-dl нет поддержки, того же, rumble, но с другой стороны в яндексе нет поддержки, того же, steam, spankbang. Может быть у них стоит какой-то блеклист для загрузчика, либо, просто, устаревшая версия.

Ссылка такого вида https://vdownload-45.sb-cd.com/1/2/12964514-720p.mp4?secure=va6o1k5lKErlGa5HQ7vgzg,1700344972&m=45&d=1&_tid=12964514

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

@SashaXser
Copy link

ytdl поддерживает Spankbang, разве нативно без хостинга нельзя перевести?

Ну во первых я не знал что в бэке там используется ytdl, нативно как я только не изголялся - не получилось, вполне возможно это просто у меня ручки кривые. upd: вряд ли кривые ручки, нихрена не пашет, перпробовал все шаблоны, ни в какую.

Скорее, даже, не обычный yt-dl, а yt-dlp, либо какой-то свой форк, ибо в обычном yt-dl нет поддержки, того же, rumble, но с другой стороны в яндексе нет поддержки, того же, steam, spankbang. Может быть у них стоит какой-то блеклист для загрузчика, либо, просто, устаревшая версия.

Ссылка такого вида https://vdownload-45.sb-cd.com/1/2/12964514-720p.mp4?secure=va6o1k5lKErlGa5HQ7vgzg,1700344972&m=45&d=1&_tid=12964514

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

Самое главное чтобы Яндекс опять все не накрыл как обычно :/

@ilyhalight
Copy link
Owner

ytdl поддерживает Spankbang, разве нативно без хостинга нельзя перевести?

Ну во первых я не знал что в бэке там используется ytdl, нативно как я только не изголялся - не получилось, вполне возможно это просто у меня ручки кривые. upd: вряд ли кривые ручки, нихрена не пашет, перпробовал все шаблоны, ни в какую.

Скорее, даже, не обычный yt-dl, а yt-dlp, либо какой-то свой форк, ибо в обычном yt-dl нет поддержки, того же, rumble, но с другой стороны в яндексе нет поддержки, того же, steam, spankbang. Может быть у них стоит какой-то блеклист для загрузчика, либо, просто, устаревшая версия.

Ссылка такого вида https://vdownload-45.sb-cd.com/1/2/12964514-720p.mp4?secure=va6o1k5lKErlGa5HQ7vgzg,1700344972&m=45&d=1&_tid=12964514

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

Самое главное чтобы Яндекс опять все не накрыл как обычно :/

Мне почему-то кажется, что они хотят сделать, так же, как с субтитрами, чтобы можно было получить перевод практического любого видео. Думаю, это было бы неплохой пиар компанией для них.

Либо они просто случайно выкатили это на прод ¯_(ツ)_/¯

@SrevSA
Copy link

SrevSA commented Nov 18, 2023

Простите за глупость. Не очень понял реализацию сего. Можно подробнее ? И еще ,как реализовать все же с помощью этого перевод с Youtube . Прошу заранее простить за не очень умные вопросы.

@BioXeon
Copy link

BioXeon commented Nov 19, 2023

Прошу дайте workflow как заводить поддержку для этого VoT для других сайтов по прямой ссылке.
Использую для скачивания видео с сайтов yt-dlp, затем заливаю на YouTube, чтобы посмотреть с переводом. В частности интересует поддержка https://beta.nebula.tv/ ,видео с которых я скачиваю используя yt-dlp

@ivdos
Copy link
Author

ivdos commented Nov 19, 2023

Прошу дайте workflow как заводить поддержку для этого VoT для других сайтов по прямой ссылке. Использую для скачивания видео с сайтов yt-dlp, затем заливаю на YouTube, чтобы посмотреть с переводом. В частности интересует поддержка https://beta.nebula.tv/ ,видео с которых я скачиваю используя yt-dlp

Там все достаточно непросто. Чтобы прямую ссылку вытащить нужно произвести дополнительные телодвижения. Подключаться к апи и уже оттуда все это доставать. Скрипт банально не имеет такого функционала, его конечно можно прикрутить. Но все еще не факт что получится. Я могу попробовать поэкспериментировать, но если прямая ссылка будет требовать куки или еще чего, то с вероятностью в 100% перевести не получится.

@SashaXser
Copy link

SashaXser commented Nov 19, 2023

Прошу дайте workflow как заводить поддержку для этого VoT для других сайтов по прямой ссылке. Использую для скачивания видео с сайтов yt-dlp, затем заливаю на YouTube, чтобы посмотреть с переводом. В частности интересует поддержка https://beta.nebula.tv/ ,видео с которых я скачиваю используя yt-dlp

Там все достаточно непросто. Чтобы прямую ссылку вытащить нужно произвести дополнительные телодвижения. Подключаться к апи и уже оттуда все это доставать. Скрипт банально не имеет такого функционала, его конечно можно прикрутить. Но все еще не факт что получится. Я могу попробовать поэкспериментировать, но если прямая ссылка будет требовать куки или еще чего, то с вероятностью в 100% перевести не получится.

Я думаю, что есть более простой способ сделать это, не используя API. Вы можете просто найти тег video на странице, который содержит видео, и получить его атрибут currentSrc, который будет ссылкой на видео.

@ivdos
Copy link
Author

ivdos commented Nov 19, 2023

Прошу дайте workflow как заводить поддержку для этого VoT для других сайтов по прямой ссылке. Использую для скачивания видео с сайтов yt-dlp, затем заливаю на YouTube, чтобы посмотреть с переводом. В частности интересует поддержка https://beta.nebula.tv/ ,видео с которых я скачиваю используя yt-dlp

Там все достаточно непросто. Чтобы прямую ссылку вытащить нужно произвести дополнительные телодвижения. Подключаться к апи и уже оттуда все это доставать. Скрипт банально не имеет такого функционала, его конечно можно прикрутить. Но все еще не факт что получится. Я могу попробовать поэкспериментировать, но если прямая ссылка будет требовать куки или еще чего, то с вероятностью в 100% перевести не получится.

Я думаю, что есть более простой способ сделать это, не используя API. Вы можете просто найти тег video на странице, который содержит видео, и получить его атрибут currentSrc, который будет ссылкой на видео.

Не катит. Там блоб.

@BioXeon
Copy link

BioXeon commented Nov 19, 2023

Screenshot 2023-11-19 at 6 18 26 PM
Как пример, что из этого может быть полезно, чтобы завести поддержку?

@SashaXser
Copy link

SashaXser commented Nov 19, 2023

Screenshot 2023-11-19 at 6 18 26 PM Как пример, что из этого может быть полезно, чтобы завести поддержку?

Я боюсь за серваки Яндекса с такими объемами файлов. Так они точно прикроют :/

@ivdos
Copy link
Author

ivdos commented Nov 19, 2023

Я боюсь за серваки Яндекса с такими объемами файлов. Так они точно прикроют :/

По идее видео грузить необязательно, нужна только звуковая дорожка.

@SashaXser
Copy link

Я боюсь за серваки Яндекса с такими объемами файлов. Так они точно прикроют :/

По идее видео грузить необязательно, нужна только звуковая дорожка.

А если у нас есть только видео?

@ivdos
Copy link
Author

ivdos commented Nov 19, 2023

А если у нас есть только видео?

Ну в конкретном случае можно только звуковую дорожку вытащить.

@BioXeon
Copy link

BioXeon commented Nov 19, 2023

А если я сделаю dump-json для загружаемого видео это поможет, чтобы завести поддержку?

@ilyhalight
Copy link
Owner

Я боюсь за серваки Яндекса с такими объемами файлов. Так они точно прикроют :/

По идее видео грузить необязательно, нужна только звуковая дорожка.

мп3 и прочие аудио форматы не переводит

@ivdos
Copy link
Author

ivdos commented Nov 19, 2023

Я боюсь за серваки Яндекса с такими объемами файлов. Так они точно прикроют :/

По идее видео грузить необязательно, нужна только звуковая дорожка.

мп3 и прочие аудио форматы не переводит

Да, но звуковую дорожку можно впихнуть в mp4 контейнер.

@BioXeon
Copy link

BioXeon commented Nov 19, 2023

Не совсем по этой теме, но может подскажете, как обойти ограничение и Ошибка: Доступ к видео ограничен (стоит ценз на видео 18+)? Из-за которой VoT отказывается переводить видео

@ivdos
Copy link
Author

ivdos commented Nov 19, 2023

@BioXeon это на ютубе такое?

@BioXeon
Copy link

BioXeon commented Nov 19, 2023

Да, на YouTube

@ivdos
Copy link
Author

ivdos commented Nov 19, 2023

Да, на YouTube

Вроде бы никогда такой проблемы не было, либо я не пытался 18+ переводить.

По теме. В видео которые не требуют регистрации для просмотра работает. Остается теперь придумать как вытащить ссылку на поток. Не прибегая к xhr запросам.
image

@BioXeon
Copy link

BioXeon commented Nov 19, 2023

yt-dlp есть опция -k, которая оставляет соответственно после merge from fragments аудио и видео в формате .mp4 и соответственно делает merge аудио + видео в один файл. Т.е. в итоге получается три файла: аудио.mp4, видео.mp4 и аудио+видео.mp4. Может на GitHub у yt-dlp подсмотреть механизм получения аудио и передавать его VoT, но я не представляю как передавать его ему на перевод.

@ivdos
Copy link
Author

ivdos commented Nov 19, 2023

Да не, у меня тут идейка одна. Прослушивать все xhr запросы и просто в нужный момент стыбрить оттуда ссылку. Ща попробую сделать.

@ivdos
Copy link
Author

ivdos commented Nov 19, 2023

Ну оно работает. Но прибивал я все это очень тупыми гвоздями. videoID взять сразу не получается, нужно ждать какое-то время. Прежде чем нажать на перевести видео и оно каждый раз пытается его перевести. То есть походу еще и ссылка на поток после обновления страницы меняется. Яндекс от таких приколов офигеет.
image
Чтобы понимать весь мой гений реализации.
image
image
Оно конечно работает, но пользоваться бы не советовал. Пускай люди поумнее доделывают.

@SrevSA
Copy link

SrevSA commented Nov 21, 2023

Понимаю что светлые умы занимаются этим. Хотелось бы услышать мнение. Понимаю, что есть более серьезные задачи, но так хотелось бы получить решение по переводу аудио. Заранее спасибо друзья.

@aleks-mar
Copy link

привет, добавьте пожалуйста, любой файловый хостинг, который умеет воспроизводить видео, на ваше усмотрение, чтобы можно было переводить любые видео. Или переводчик привязан к субтитрам? Например есть: fex.net, можно загрузить видео и воспроизвести, ну и было бы круто, если бы, перевод добавили на лету.

@Buumcode
Copy link

Buumcode commented Feb 6, 2024

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

Если переводите порно – то загружайте на Eporner.com и там всё переводит, в том числе позволяет скачивать аудиодорожку перевода и субтитры. Для всего остального используйте Вконтакте и Ютуб. Правда Вконтакте субтитры не отдаёт.

Так же есть поддержка Yandex Disk (только публичные ссылки)". То есть вы заливаете файл на диск и делаете его доступным для других. Нажимаете "Скопировать ссылку", потом сами переходите по ней и смотрите с переводом. Яндекс-Диск отдаёт файл mp3 с переводом, но субтитров там нет.

@FiLinX
Copy link

FiLinX commented Mar 31, 2024

Так же есть поддержка Yandex Disk (только публичные ссылки)". То есть вы заливаете файл на диск и делаете его доступным для других. Нажимаете "Скопировать ссылку", потом сами переходите по ней и смотрите с переводом.

что то у меня нифига не получается с яндексом..
сегодня попалась с ленты подписок свежая ютубина - но увы она сразу попала под геоблокировку в РФ и РБ
я запустил в системе оперовскую впнку и в браузере уже ролик стал доступен, но перевод от яндекса увы не смогло получить (яндекс же сам за гео)
тогда я просто скачал ролик с помощью yt-dlp с применением в его командах того же оперовского проксика --proxy http://127.0.0.1:18080/
а затем загрузил скачанное в ядиск и получил ссылку - https://disk.yandex.ru/i/1hJ5qil3ot2Ymw
открыл её в новой вкладке, нажал на плей, увидел панельку вота, кликнул по ней, и даже кнопку мыши отпустить ещё не успел - а уже вывалилось "Не удалось запросить перевод видео"
(( обидно однако..
ирон-118 и VOT-1.5,1.3

@SashaXser
Copy link

SashaXser commented Mar 31, 2024

Так же есть поддержка Yandex Disk (только публичные ссылки)". То есть вы заливаете файл на диск и делаете его доступным для других. Нажимаете "Скопировать ссылку", потом сами переходите по ней и смотрите с переводом.

что то у меня нифига не получается с яндексом.. вот сегодня попалась с ленты подписок свежая ютубина - но увы она сразу попала под геоблокировку в РФ и РБ я запустил в системе оперовскую впнку и в браузере уже ролик стал доступен, но перевод от яндекса увы не смогло получить (яндекс же сам за гео) тогда я просто скачал ролик с помощью yt-dlp с применением в его командах того же оперовского проксика --proxy http://127.0.0.1:18080/ а затем загрузил скачанное в ядиск и получил ссылку - https://disk.yandex.ru/i/1hJ5qil3ot2Ymw открыл её в новой вкладке, нажал на плей, увидел панельку вота, кликнул по ней, и даже кнопку мыши отпустить ещё не успел - а уже вывалилось "Не удалось запросить перевод видео" (( обидно однако.. ирон-118 и VOT-1.5,1.3

Для работы необходимо изменить опцию "Добавить TM в политику безопасности CSP" на "Да" (Tampermonkey -> Настройки -> Режим конфигурации: "Опытный" -> Добавить TM в политику безопасности CSP: "Да")

Обязательно нажми Сохранить (можешь даже "удалить полностью" поставить)

305717471-142c5bfd-d890-4300-881e-7361739f733d

@FiLinX
Copy link

FiLinX commented Mar 31, 2024

необходимо изменить опцию "Добавить TM в политику безопасности CSP" на "Да" (Tampermonkey -> Настройки -> Режим конфигурации: "Опытный" -> Добавить TM в политику безопасности CSP: "Да")

урряяяя!!!! заработалла! )) Спасибо!

пысы: только наблюдаются странные долгонепроходящие периоды отсутствия панельки..
ну, я вот сейчас наткнулся у себя в закромах на один англоязычный ролик, лет 20 назад сохранённый, ну и я так же вот на ядиск его закинул, и по полученной ссылке открыл - а панельки то и нету..
переоткрывал вкладку много раз и по F5 и по Ctrl+F5 и закрывал вкладку открывал в новой.. мнооого раз.. но она таки всё же наконец то появилась да)

@aleks-mar
Copy link

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

Если переводите порно – загрузите на Eporner.com и там всё переводится, в том числе позволяет скачивать аудиодорожку перевода и субтитры. Для всего остального воспользуйтесь Вконтакте и Ютуб. Правда субтитры Вконтакте не отдают.

Так же есть поддержка Яндекс Диска (только общедоступные ссылки). То есть вы добавляете файл на диск и делаете его доступным для других. Нажимаете "Скопировать ссылку", затем сами переходите к ней и смотрите с переводом. Яндекс-Диск выдает файл в формате mp3 с переводом, но субтитров там нет.

не порно) Изучаю программирование и мне было бы удобно, скачать ролик с Ютуба, длиной 4-8 часов, порезать на части, чтобы программа смогла перевести, ну и так частями, переводить и изучать языки. Вобщем, загрузить в какое-то место эти кусочки и там переводить.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants