Online PeerTube and YouTube player for Android with local playlists and whitelisted recommendations
for English go to README.en.md
Онлайн плеер PeerTube и YouTube с локальными плейлистами, каналами и рекомендациями.
новости и анонсы: https://t.me/yashlang
- Добавляйте любимые каналы и плейлисты
- Внутри добавленных плейлистов выключайте лишние ролики, если они вам не нужны
- Смотрите только то, что вам интересно
Ваш собственный безопасный онлайн-кинотеатр под вашим полным контролем.
Искать по имени онлайн или вставить известный адрес.
Можно вставлять адреса каналов, страниц пользователей и плейлистов PeerTube и YouTube. Поиск по имени работает только для каналов и плейлистов YouTube.
В рекомендациях под видео будут только ролики, удовлетворяющие поисковому запросу.
Аналогичным образом, если открыть видео из настроек плейлиста, в списке рекомендаций будут только ролики из этого же плейлиста.
Обратите внимание: ролики из выключенного плейлиста исчезнут также из результатов поиска, истории просмотров и из списка любимых. Но не стоит переживать, они опять появятся там сразу после того, как плейлист будет снова включен.
Заблокированный ролик не будет отображаться в рекомендациях, в результатах поиска, исчезнет из списка любимых и из истории просмотров. Ролик всё еще будет виден в настройках плейлиста.
Просмотреть черный список и снова включить элементы, заблокированные по ошибке:
Настройки > меню в заголовке > Черный список
Любимые ролики на экране плеера отмечаются звёздочкой в правом верхнем углу.
- Навигация по включенным плейлистам из главного экрана
- Профили плейлистов: можно объединить плейлисты в группы и переключить группы в зависимости от контекта (например: Мультики, Фильмы, Познавательное, История, Аналитика и т.п.)
- Загрузка отдельных потоков видео и аудио для роликов для просмотра оффлайн
- Режим оффлайн: отображение в рекомендациях только скачанных роликов
- Проигрывание в фоне - панель управления плеером в области уведомлений и на экране блокировки устройства
- Всякие мелочи, про которые не успеваю сюда писать
Приложение сразу станет выглядеть так, как на скриншотах выше.
Ненужные каналы и плейлисты можно выключить или удалить в настройках.
- В каталоге F-Droid: https://f-droid.org/packages/su.sadrobot.yashlang/
- Собирайте из исходников: https://github.com/sadr0b0t/yashlang/
- Качайте apk из раздела с релизами: https://github.com/sadr0b0t/yashlang/releases
- В каталоге AppGallery Huawei (apk из релизов github): https://appstore.huawei.com/app/C101887905
- На Гуглплее нет и ближайшее время не будет (Гугл банит приложения, которые в обход API парсят их сайт, в т.ч. упомянутый Channel Whitelist или плеер NewPipe)
Имейте в виду, что переключаться между разными версиями из разных источников на одном устройстве не получится из-за разных подписей файла apk, перед установкой версии из нового источника придется установленную версию сначала удалить вместе с данными - кэшем плейлистов и историей просмотров (или придумать, как эти данные перенести).
Не требует аккаунт Гугл/Ютюб, нужен только интернет, использует библиотеки:
- NewPipeExtractor для получения данных с сервисов PeerTube и YouTube и
- ExoPlayer для проигрывания видео.
Открытый исходный код, свободная лицензия GPLv3.
вопрос: Парсить сайты без разрешения (или с явным запретом) авторов вообще законно? Гугл удаляет из Гугл-плея приложения, которые не используют их API, а парсят их сайты, т.к. они нарушают их пользовательское соглашение. ответ: конечно, законно, это ваше дело, какой инструмент использовать для чтения общедоступной информации. Больше того: Суд США полностью легализовал скрапинг сайтов и запретил ему технически препятствовать, но у Гугла может быть другое мнение, лично у меня пока нет желания отправляться в американский суд их переубеждать.
- Гугл регулярно ломает совместимость для сторонних приложений, не использующих их API. Ролики Ютюб могут перестать загружаться в любой момент (еще вчера они играли, а сегодня каждый ролик выдает ошибку при загрузке). Обычно эти проблемы довольно быстро исправляются в проекте NewPipeExtractor (и в проекте youtube-dl), информация о проблемах загрузки попадает к ним в багтрекер NewPipeExtractor/issues, там же можно следить за статусом исправления. Так или иначе, до выпуска исправленной версии приходится ждать несколько дней (особенно, пользователям F-Droid).
совет: хватит это терпеть! Гугл в очередной раз поломал совместимость сторонних плееров с Ютюбом? Найдите подходящий сервер PeerTube с поддержкой загрузки (или заведите свой инстанс), перенесите туда любимые ролики (интерфейс загрузки PeerTube позволяет импортировать ролики YouTube по ссылке, а так же указывать ссылки на торренты!) и добавьте канал в плейлист YaShlang!
- Не будет играть ролики с возрастными ограничениями, требующие логин в аккаунт Гугл/Ютюб
например: Илья Муромец, Киноконцерн "Мосфильм", Руслан и Людмила 1-ая серия / Ruslan and Lyudmila film 1, Киноконцерн "Мосфильм"
совет: добавлять такие ролики в черный список или попросить автора ролика снять ограничение, выставленное по ошибке.
- Не будет играть некоторые ролики-трансляции, для которых сервис возвращает нулевую длину (для таких роликов продолжительность в списках и галерее отмечена как "[dur undef]")
например: Ну Погоди! Все Выпуски 🐰🐺 Союзмультфильм HD (Мультики для детей), Мультики студии Союзмультфильм, Топ мультиков Союзмультфильм, Мультики студии Союзмультфильм
совет: добавлять такие ролики в черный список.
- Ролики, доступные только по прямым ссылкам, могут не попасть в локальный плейлист, даже если вы загружаете все ролики пользователя
например: Укрощение огня 1 серия, Киноконцерн "Мосфильм"
-
Если встретите публичный ролик, который не требует логин, играет в браузере, но не играет в плеере, присылайте баг-репорт (вполне возможно, проблема уже исправлена в новой версии NewPipeExtractor и нужно будет только обновить сборку с этой версией, например).
-
Интерфейс может подтормаживать при медленном (но не выключенном) интернете
updt: должно стать намного лучше после вот этих историй #17 #129
-
Пару раз ловил невоспроизводимый NullPointerException на операциях, связанных с загрузкой информации с сервиса. Если приложение вдруг вылетело при какой-то операции (например, при добавлении нового плейлиста), скопируйте стек-трейс и пришлите сюда, а операцию повторите — скорее всего второй раз она завершится успешно.
-
Ошибка "reCaptcha Challendge requested" при добавлении новых плейлистов
Гуглу не нравится большое количество запросов с одного адреса, поэтому он включает режим рекапчи. Можно переключиться на другую сеть (например, выключить подключение вайфай и перейти на мобильный интернет) или подождать до конца текущего часа (или подождите час), когда Гугл снимет бан для наказанного адреса.
- НЕ ДЕЛАЙТЕ ДАУНГРЕЙД на версию 0.1.0 (или ниже) после того, как обновились на старшую версию (начиная с 0.2.0). Потеряете все данные - добавленные плейлисты, историю просмотров, закладки и т.п.!
Начиная с версии 0.2.0 эта проблема исправлена (на 0.2.0 можно будет делать безопасный даунгрейд, но не на 0.1.0!). Кроме того, версия 0.1.0 все равно больше не работает и никогда не заработает, т.к. Гугл в очередной раз поломал задействованный в ней API.
- ГОТОВО: Загрузка роликов для просмотра оффлайн (#8, #142)
- Экспорт и импорт базы для резервной копии и переноса между устройствами (частично реализовано https://github.com/sadr0b0t/yashlang/releases/tag/v0.7.0)
- ГОТОВО: Режим аудио-плеера: играть в фоне звуковую дорожку при выключенном экране (#7 , здесь дополнительно: #179)
- Локальные списки проигрывания с ручным добавлением элементов
- Другие онлайн-сервисы