Samsung Smart TV
Ребят, нужна помощь. В инете не смог найти инфу по этому поводу. Вылетает окно «настройки сети». Тупо не успеваю подключиться к вайфаю, кто может помочь?
Ребят, нужна помощь. В инете не смог найти инфу по этому поводу. Вылетает окно «настройки сети». Тупо не успеваю подключиться к вайфаю, кто может помочь?
На телевизоре grunhelm(точную модель не знаю),вхожу в Ютуб аккаунт,прикол в том что в телевизоре при нажатии входа,постоянно вылазит ошибка(система на базе Андроид) и поэтому вхожу всегда через телефон по коду,и всё нормально до первого выхода из Ютуб,заходишь повторно и снова требуется вход в аккаунт,телевизор конечно китайский но может нужно где то в настройках есть опция запоминания,подскажите пожалуйста)
Вместо предисловия
Добрый день, коллеги! Меня зовут Алексей и я занимаюсь телевизорами, а именно, разработкой Smart TV приложений («давайте похлопаем Алексею»).
Но что такое Smart TV? Какое оно, сферическое Smart TV приложение в вакууме?
Не буду томить вас ожиданием: в основном такого рода приложения предназначены для показа видео-контента. В любых вариациях. Записанное, живое вещание, телепередачи, фильмы, мультфильмы, рекламные ролики, и прочая, и прочая... Тысячи их!
Но разве Smart TV только для этого?
Да, безусловно, телевизор лучше всего показывает именно видео-контент, и с этим он хорошо справляется, но только ли для этого мы можем его использовать?
(Сейчас все счастливые владельцы приставок и HDMI-кабелей кинут в меня свои тухлые помидоры, скажут «Отписка!» и счастливые уйдут, а мы продолжим.)
Действительно, абсолютное большинство приложений, которые нам приходилось разрабатывать, в первую очередь предназначаются для показа видео, но были среди них и замечательные исключения. Кроме того, страдая известным заболеванием «Шило в месте чуть пониже спины», мне хотелось выжать из телевизоров нечто большее, чем все от них ожидают.
О моих (и не только) скромных потугах речь и пойдет ниже.
ТВ — Игра?
Действительно, первое, что приходит на ум — игра! Большой экран, возможность кроссдоменных запросов (так как Smart TV приложение, по сути, локальная HTML страница), и худо-бедно стандартное управление (пульт) позволяют нам реализовать игровой сценарий.
В большинстве своем это казуальные игры типа «1024», либо вариации на тему «Tower Defence». Негусто. К сожалению, накрутить супер 3D с шейдерами, тенями и динамическим освещением, получится разве что только на самых последних моделях... следующего года. Ибо в ТВ обычно размещена не самая совершенная версия браузера и, что хуже всего, она или обновляется крайне редко или не обновляется вовсе. Кроме того, разница между мощностью ТВ даже прошлогодними и текущими может быть кратной.
Поэтому, если вы хотите охватить максимальное количество моделей, готовьтесь к кровавой оптимизации всего и вся. Чистый, нативный Canvas станет вашим лучшим другом. Обертки над ним работают, но крайне прожорливо. Особенно удручает неудовлетворительная работа методов rotate и transform, поэтому анимацию планируйте спрайтовую и повороты спрайтов реализуйте только в самом крайнем случае.
Однажды мы делали игру на Ночь Карьеры. С ней удалось съездить к замечательным коллегам из Web Standarts Days и выступить с докладом.
Визуально игра представляет из себя игровое поле, вмещенное в размер экрана, не скролла, без преград. Задний фон разделен на несколько слоев, чтобы реализовать эффект 3d. На сцене генерируются летающие мишени (утки), по которым пользователь может стрелять.
Рис. 1. Общий вид приложения.
Главная задача состояла в том, чтобы дать возможность играть в игру кому угодно и как угодно, что сразу исключало взаимодействие с пультом. Пульт один, а игроков много. Управление реализовали с помощью телефона, а для максимального охвата мобильных устройств было решено реализовать клиент в виде адаптивного сайта. Реализовали мы его на WebSockets, и добавили фишку — управление через изменение положение телефона.
Тогда всплыло много интересных особенностей, некачественных датчиков ориентации и других глюков. Нам пришлось применить алгоритмы подавления шумов, иначе «прицел» игрока на экране телевизора страдал жутким тремором, Также выяснилось, что в игре «дует ветер»: в расчетах на телефонах накапливалась ошибка и прицелы постепенно «сдувало» в одну сторону, что вынуждало игроков постепенно поворачиваться. Некоторые играли, стоя спиной к ТВ.
Мораль: используйте датчики ориентации в браузерах телефонов как можно реже.
Рис. 2. Убийцы уток за работой
В приложении используется анимация посредством замены спрайтов. Такой способ оказался достаточно производительным. Мы тестировали приложение с сотней и более летающих уток. В реальности в игре их было всего 10. Проблемы с производительностью возникли, когда прибежала дизайнер с возопила: «Хочу, чтобы планета крутилась»!
Закрутить спрайт проблем не составило. Проблема случилась, когда мы запустили приложение на относительно старом ТВ. Оказалось, что поворот спрайта 900×900 пикселей он не вывозит чуть более, чем никак. В итоге, самый глазастый пользователь может заметить, что планета на заднем фоне разрезана на 9 частей, которые вращаются вокруг одного центра. Это решило проблему с производительностью.
Отсюда другая мораль: не вращайте большие спрайты.
Ещё одна фишка проекта заключалась в том, что игровая логика обсчитывается... на ТВ. В этом случае сервер выступает выступает просто в роли передатчика данных между клиентами и ТВ. Сделали мы это для того, чтобы даже в случае потери соединения, утки продолжали летать по экрану, и после восстановления Интернета не требовалось перезапускать приложение. Любопытный кейс, но все же, необязательный.
ТВ — Экран?
Казалось бы, это уже банально, но нет. Как обычно всё скрывается в деталях. Экран для чего? Какую функцию несёт? Для чего предназначен?
Приведу лишь несколько примеров.
Поздравлялка.
Однажды мы решили на день святого Валентина запилить онлайн поздравлялку в компании, и использовать имеющиеся телевизоры в качестве трансляторов поздравлений. Приложение было реализовано в минималистичном варианте с одним запросом к серверу, возвращающим список поздравлений. Главная проблема заключалась в неприятной особенности телевизоров уходить в спящий режим. Если Samsung разрешает отключать эту функцию с помощью метода setScreenSaver, то остальные платформы не особо позволяют это делать. Как вариант, можно запускать в фоновом режиме любое зацикленное видео — ТВ в режиме показа видео выключается намного реже. В итоге приложение свою функцию выполнило: во всех частях офиса на нескольких этажах онлайн транслировались поздравления сотрудников.
Карта.
Если быть совсем точным — карта боевых действий со списком лучших игроков.
Мы снова делали игру на Ночь Карьеры и в этот раз решили совместить телевизоры, телефоны и VR. Суть заключалась в том, что игрок в VR-шлеме летает на драконе и отстреливает принцесс, которыми управляют игроки с телефонов. Кто убил дракона — надевает шлем. И так по кругу. Скромно замечу, что со своей функцией (собрать максимальное количество народа у нашего стенда и удерживать их максимально долго) приложение справилось.
Более подробно о драконах, истребляющих принцесс, можно узнать тут.
Рис. 3. Общий вид стенда.
Приложение для ТВ обеспечивало демонстрацию общей сцены боя для всех желающих .
В этом проекте мы столкнулись с необходимостью оптимизации ранее стабильно и хорошо работающего кода. При увеличении количества игроков заметно ухудшались показатели производительности приложения. Выделили основные пути оптимизации:
— уменьшение объема передаваемой информации с сервера на клиенты и с клиентов на сервер;
— минимизация создания новых объектов в приложении.
Создание каждого нового экземпляра класса заметно глазу, поэтому все экземпляры должны быть созданы заранее и показываться пользователю по мере необходимости.
На ТВ слева — вид из VR-очков, на ТВ по центру — карта сцены.
Рис. 4. Игровой процесс. На ТВ слева - вид из VR-очков, на ТВ по центру - карта сцены.
Интерактивный задний фон.
Вы совершенно справедливо можете спросить: «Ты там вообще работаешь, не?!». На что я с искренним недосыпом на лице отвечу: «Конечно, работаю!». Но об этом чуть позже. А пока нам снова не сиделось и захотелось реализовать интерактивный задний фон для квадрокоптера.
Идея была в том, чтобы показывать в телевизоре саму усадьбу деда Мороза, которая бы реагировала на отлет/прилет квадрокоптера.
Основной интерес был в том, чтобы «растянуть» картинку на три телевизора. Разных производителей.
Сделали мы это путем разбиения всей сцены на «комнаты». Каждый телевизор показывал «комнату» со своим номером. Номера «комнат» можно было менять, таким образом, телевизоры, в принципе, могли показывать одинаковые части одной сцены, но мы показывали всю сцену последовательно. Команды на перемещение окружения сцен (зверушек, движение Луны и дым из труб) передавались с сервера по любимым WebSockets.
Поскольку мы знали время прилета/отлета квадрокоптера, появилась идея сделать «ветер» в телевизорах, который бы «сдувал» дым из труб при близкой работе винтов.
Опять-таки команда на взлет с квадрокоптера через сервер спускалась на клиенты.
И тут тоже у нас возникли сложности с производительностью. «Старый» webOS 2013 года крайне тяжело рендерил большую картинку (5760×1080). Пришлось специально для него нарезать задник в размер экрана и подставлять строго его.
Мораль: не пытайтесь рисовать картинки существенно большего размера, нежели экран телевизора. Он этого не переживет.
Тем не менее, все что относилось к Smart TV и бекенду, мы успешно реализовали.
ТВ — Охранник?
Однако самый интересный проект был совершенно неигровой, а что ни на есть, полезный.
Приложение занималось охраной дома. Да, именно телевизор. Да, именно охранял.
Суть приложения в том, что имеющаяся камера снимает всё, что перед ней происходит, и в случае резкого изменения картинки производит действия на выбор:
— громко орёт;
— посылает пользователю СМС;
— пишет письмо с приложенными фотками инцидента;
— пишет сообщение в FB тоже с фотками;
— делает всё это сразу или в любых вариациях.
Сам ТВ в этот момент усиленно прикидывается валенком и вообще не работающим. В приложении были обработаны случаи выключения ТВ от сети Интернет или просто от питания. Приложение поддерживало мультиязычность.
Установило его себе несколько десятков тысяч человек.
Но и тут было не всё просто.
При подключении камеры и попытке получения в браузере стрима с неё, как известно, вываливается системный попап с подтверждением действия. Особенность в том, что ТВ блокируют все всплывающие окна. Поэтому приложение наше было реализовано только на платформе Samsung с использованием либо встроенной в ТВ камеры, либо специальной камеры, поставляемой тем же самсунгом.
Ещё одним минусом стала, опять же, производительность ТВ. На относительно старых телевизорах (2013 года) можно было м-е-е-е-е-е-е-дленно прокрасться мимо камеры и телевизор бы «прохлопал» этот момент.
Но в целом идея просто блестящая.
Вывод
Телевизоры уже давно переросли свою основную функцию — показывать картинку с канала, показывать видосики или быть вторым монитором.
Их возможности и производительность постоянно растут, а круг применения ограничен только вашей фантазией. Любые задачи можно решить при должной проработке идеи и соответствующей реализации. Дерзайте и достигайте успеха!
Всем телеки!
З.Ы. Может быть у тебя, читатель, были необычные задачи для Smart TV, когда ТВ приходилось использовать в несвойственной для него роли? Поделись! Расскажи!
Спасибо, конечно, за рекомендации....я пас....
Наткнулся в съемной квартире в кладовой на телевизор и вспомнил что у меня просто так лежит малинка без дела. Хотел подключить, но у этого телевизора из разъемов только скарт(в котором был вставлен переходник на "тюльпаны". У малинки есть композитный выход. В последних версиях он объединен с выходом аудио. Осталось только найти кабель. 4х контактный 3,5mm jack to 3RCA. В магазине, где у нас продают малинки и радиодетали кабеля не оказалось. Решил спаять его сам. В этом же магазине взял все что нужно - 3 тюльпана и сам штекер. провода дома нашлись :) Распиновка нашлась в интернете.
Немного процесса) Паяльщик из меня так себе, паяю раз в год, под изоленту лучше вообще не смотреть - контакты очень маленькие, паяльник большой, руки из жопы и вообще)) Запорол чутка, но синяя изолента как всегда спасает. Прежде чем паять, "прозвонил" все контакты, но, поскольку, не особо был уверен в схеме(попадалась еще схема, где 3 и 4 контакт поменяны местами), сделал вот так(фото ниже), что бы потом не перепаивать, а просто "перетыкнуть" контакты.
Но все заработало с первого раза. Немного протестировав, вспомнил, что в комментах к прошлой статье советовали поставить LibreElec.
Установка LibreElec.
Ничего сложного из себя не представляет: качаем отсюда установщик под вашу систему. У меня винда 10. Выбираем версию под Raspberry Pi 2 and 3. я выбрал LibreELEC-RPi2.arm-9.0.0. т.к она самая стабильная была на тот момент. В версиях выше либо не работал композитный выход либо были проблемы с вайфаем. Нажимаем Download, ждем когда загрузится, выбираем нашу SD карту и нажимаем Write. Ждем еще немного и готово - вставляем карту в малинку.
Первый запуск меня разочаровал - картинка не влазила в экран телевизора. При первом запуске, кстати, можно выбрать язык, дать имя системе, подключиться к вайфаю, включить доступ по ssh(при этом будет предложено сменить стандартный пароль). Можно сделать это сразу, а можно и потом из настроек системы. Я сразу сделал и полез искать калибровку дисплея
Калибровка дисплея или Overscan
Setting - System setting - Video - Video calibration
Что бы этот пункт появился надо выбрать режим настроек Expert в левом нижнем углу. Подправил, но после перезагрузки все сбросилось. Попробовал еще раз - тоже самое. Пришлось снова гуглить и править конфиг. Тут два варианта:
1. SSH
Если при первом запуске не включили доступ по SSH и не подключились к вайфаю, то
Setting - LibreElec - Службы - Включить SSH.
Setting - LibreElec - СоединенияТак же в настройках LibreElec выключил блютус - мне он не нужен и отключил автоматические обновления(а то пока настраивал первый раз, либра обновилась и после перезагрузки перестал работать композит)
Теперь надо узнать ip адрес. В разделе System Information он прописан. Либо в устройстве, с которого раздаете интернет(роутер, телефон, ноутбук, комп) в подключенных устройствах. Я с компа раздаю через внешний модуль вайфай, ибо комп ближе чем роутер, а в малинке слабоватый приемник.
После того как узнали ip адрес запускаем PuTTy(или какой другой SSH клиент) и вводим его. Откроется терминал и попросит ввести логин, а затем пароль, который при вводе не будет виден.
Логин - root
Пароль - libreelec
Так как либра устроена так, что вся система только для чтения(чтобы меньше писать на сд карту - дольше проживет), нужно получить разрешение на изменение файлов.
mount -o remount, rw /flash
затем открываем конфиг в редакторе nano
nano /flash/config.txt
пролистываем в самый низ и пишем это:
sdtv_mode=2Включили вывод в PAL стандарте и указали положение углов картинки. У вас будут другие значения - придется самим подбирать, редактировать, перезагружать. Можно в калибровке дисплея посмотреть значения, но, почему то они не совпали. В последней строке указали что вывод звука будет либо через аналоговый выход либо через hdmi, т.е. без usb. Без этой строки в Retroarch(о нем немного далее) не было звука.
disable_overscan=0
overscan_scale=1
overscan_left=30
overscan_right=10
overscan_top=30
overscan_bottom=30dtparam=audio=on
Далее нажимаем CTRL+O чтобы сохранить, подтверждаем ENTER'ом и CTRL+X для выхода из редактора. Далее меняем права на ридонли обратно и перезагружаем систему
mount -o remount, ro /flash
reboot
2. Через комп. Этот вариант проще
Вытаскиваем карту памяти из малинки, вставляем ее в комп, открываем и в корне будет файл config.txt. Открываем текстовым редактором и в конце прописываем то же что и выше. Сохраняем, вставляем обратно. Все)
Теперь картинка стала более-менее нормальной. Можно дальше настраивать.
Региональные настройки
Setting - Interface - Regional
Language - Russian
Ниже добавляем раскладку клавиатуры - Russian Йцукен.
Страна в часовом поясе - Russia
Часовой пояс - у меня Asia/Tomsk
Остальное я так оставил.
Вывод звука. Что бы звук шел тоже через композит.
Настройки - Система - Аудио - Устройство вывода звука - Analogue
Погода. Куда ж без нее
Настройки - Службы - Погода - Служба прогноза погоды
В появившемся пустом списке выбираем слева Еще. В новом списке выбираем себе поставщика прогноза погоды. Я выбрал Гисметео. Далее в настройках выбираем место. В дополнительных настройках - единицы измерения если надо.
Добавляем источники
Для начала надо открыть общий доступ к папке на компе. У себя я открыл доступ ко всему диску D, на котором у меня фильмы, музыка, сериалы и прочее барахло.
ПКМ по диску/папке - свойства - вкладка доступ - расширенная настройка
Ставим галочку "открыть общий доступ к этой папке".
В этом же окне жмем на "Разрешения". Тут выбираем пользователя и даем ему нужные права. Важно что бы у этого пользователя был включен вход по паролю. Можно создать отдельного пользователя с входом по паролю и ограниченными правами.
Далее, уже в либре:
Настройки - Менеджер файлов - Добавить источник - Обзор - Добавить сетевой адрес
Протокол - Сеть Windows(SMB)
Имя сервера - ip адрес, вашего компа в локальной сети, либо его сетевое имя
Общая папка - папка, которую вы расшарили
Имя пользователя - имя вашей учетной записи
Пароль - ваш пароль
Далее - слева ОК. Наша папка должна появиться в списке. Открываем ее и если все правильно, то она откроется и вы увидите ее содержимое. Снова слева нажимаем ОК. И еще раз ОК в первом окне, где нажимали Обзор. Здесь же можно задать имя нашему источнику. После этого в менеджере файлов появилась наша папка. Теперь указываем папки с фильмами, сериалами и музыкой:
Настройки - Медиа - Медиатека - Видео/Музыка/Изображения - Добавить видео/музыку/изображения - Обзор
и из списка открываем наш добавленный источник. Выбираем папку с фильмами. Слева жмем ОК. В первом окне тоже ОК. Откроется новое окно, в котором надо указать что именно содержит эта папка - Фильмы, Сериалы, Клипы. выбираем "Фильмы". В настройках чуть ниже выбираем предпочитаемый язык - ru. Что бы описание фильмов было на русском языке.
После подтверждения будет предложено просканировать эту папку. Соглашаемся.
Так же добавляем папку с сериалами, только в содержании папки нужно указать что в ней содержатся сериалы. Аналогично добавляется музыка и фото.
IPTV.
Для использования iptv телевидения надо установить PVR клиент.
Настройки - Дополнения - Установить из репозитария - Все репозитарии - Клиенты pvr - PVR IPTV Simple client - Установить
После установки открываем его и выбираем настройки
В основных настройках нужно выбрать расположение плейлиста с каналами. У меня он скачан и лежит на компе на диске d. соответственно выбираю "Локальный путь" и ниже выбираю сам плейлист. Так же как и добавляли источник видео ранее. В установках EPG нужно указать файл с программой. Делается все так же. Но лучше всего указывать не файлы, а ссылки на файлы у ваших поставщиков - так они будут обновляться автоматически. В моем случае надо заново скачивать файлы.
Не очень читабельно)
YouTube
Настройки - Дополнения - Установить из репозитария - Все репозитарии - Видеодополнения - YouTube - Установить - Ок
Для авторизации надо подключить две копии приложения к своему аккаунту, для этого запускаем аддон и выбираем "Авторизация". Приложение выдаст код, который надо ввести по адресу google.com/device. На телевизоре как у меня это очень сложно - коды почти не разобрать, но получилось. Настройки не менял, только список меню изменил. Оставил только мои подписки, поиск и плейлисты
Elementum
Используется как альтернатива Quasar, который сейчас уже не поддерживается. Поиск фильмов и сериалов на торрент трекерах и просмотр их без скачивания. Причем подгружает он их в оперативную память, а не на sd карту.Скачиваем с офф сайта версию Linux armv7. Так же для него нужен будет движок с провайдерами. качаем отсюда zip архив.
Настройки - Система - Дополнения - Установка из неизвестных источников - Соглашаемся с предупреждением
Настройки -Дополнения - Установить из файла zip. Выбираем наш плагин plugin.video.elementum-0.1.37.linux_armv7После установки будет предложено установить Elementum Burst. Отказываемся. Вместо него поставим Elementum Nova
Настройки -Дополнения - Установить из файла zip. Выбираем нашего провайдера script.elementum.nova-1.0.30
Теперь настраиваем.
Настройки - Система - Дополнения - Мои дополнения - Программные дополнения - Elementum Nova - Настроить
Общие - Использовать прокси Elementum - Включаем
Провайдеры - тут выбираем по своему желанию. Я выбрал только LostFilm, RuTor и RuTracker
Настройки - Система - Дополнения - Мои дополнения - Видеодополнения - Elementum - Настроить
Здесь только в разделе "Прокси" поставил галочку "Использовать прокси antizapret". Все заработало
LostFilm
Сначала установим репозиторий, в котором содержится плагин
Настройки -Дополнения - Установить из файла zip. Выбираем наш репозиторий repository.nemiroff-1.0.1
Теперь сам плагин
Настройки -Дополнения - Установить из репозитория - Nemiroff Repository - Видеодополнения - LostFilm.TV - установить
В общих настройках указал данные своего аккаунта - почту и пароль. В настройках просмотра указал движок для просмотра - Elementum и все заработало.
Эмуляторы старых игровых консолей.
1. Retroarch + Emulationstation
Сперва надо скачать и установить репозиторий, в котором находится сам эмулятор. Затем из этого репозитория устанавливаем Retroarch. В настройках Retroarch надо скачать полный пакет ядер:
Настройки - Система - Дополнения - Мои дополнения - Игровые дополнения - Поставщики игр - Retroarch - Настроить - Download Libretro full core package
Ждем пока скачается и запускаем для настройки. Надо указать где лежат наши ромы. По умолчанию используются вот эти пути:
/storage/emulators/bios
/storage/emulators/roms
/storage/emulators/saves
Нам надо закинуть в папку roms папки со своими платформами. Важно что бы название папки с платформой было из списка с офф. сайта Emulationstation что бы корректно определялась платформа. Сам список на этой странице в разделе Platform Names. Делаем это либо через ssh, либо через smb сервер, который по умолчанию включен. Если у вас игры на флешке как у меня, то надо указать другие пути. RETROGAMES - это имя моей флешки
Setting - Directory - System/Bios |---------> /media/RETROGAMES/bios
Setting - Directory - File Explorer |---------> /media/RETROGAMES/roms
Setting - Directory - SaveFile |---------> /media/RETROGAMES/saves
Setting - Directory - SaveState |---------> /media/RETROGAMES/saves
Так же еще настроил клавишу home на геймпаде на выход из Retroarch чтобы попадать сразу в Emulationstation.
Setting - Input - Hotkey Bind
Там надо указать саму кнопку, по нажатию которой будут активироваться горячие клавиши(Hotkeys) и затем для самого действия(Quit Retroarch). В предыдущем меню включил опцию Press quit twice - что бы не закрыть игру по случайному нажатию, теперь надо нажимать кнопку home дважды.
После, на всякий случай сохранил конфигурационный файл:
Main Menu - Configuration File - Save Configuration File
Теперь ставим Emulationstation из того же репозитория. В настройках надо указать путь до наших ромов - он должен быть такой же какой указывали в Retroarch. Не забудьте нажать Update es_systems.cfg что бы ваш путь сохранился. Все, можно запускать Emulationstation.
При первом запуске будет предложено настроить ваши определившиеся геймпады. После настройки их попадаем в главное меню - боковой список платформ. Выбираем платформу, вашу любимую игру и играем. Scrapper у меня не заработал, почему то не нашел ни одной игры. Ни в архиве, ни в распакованном виде. Но я скачивал пак игр с 4pda и там уже были все нужные файлы, все автоматом подхватилось и корректно отобразилось.
Retroplayer
С 18 версии в Kodi присутствует свой эмулятор старых консолей. В разделе игры добавляем папку с ромами и все:) Но игры должны быть распакованы. Просто запускаем игру, будет предложено выбрать ядро и можно играть. Но не все платформы поддерживаются. Особо не разбирался с ним, но точно знаю что Nintendo 64 не поддерживается.
Internet Archive Game Launcher
Это просто гигантская онлайн база игр всевозможных платформ с картинками и описанием. Просто выбираем игру, скачиваем и играем. В настройках можно выбрать запускать через Retroplayer или Retroarch. Тоже особо не игрался с ним. Скачать можно тут. Вроде как в новых версиях kodi добавили этот репозитарий.
Управление
Управляю либо с геймпада, который сразу определился и вообще проблем никаких с ним не было ни в проводном режиме, ни в беспроводном(GameSir G4S кому интересно). Так же на андроиде установлено приложение Yatse. Подключаемся к той же сети что и наша малинка и в приложении выбираем добавить хост - Kodi в управлении хостами.
Теперь самое интересное - подключение ИК-Пульта:
Подключаем ИК приемник по следующей схеме:
Заметьте что сигнальный контакт ИК приемника(OUT) раздваивается - один провод идет к GPIO18 - этот пин используется по умолчанию для сигналов ИК приемника. А второй провод идет к GPIO3 - это для того чтобы можно было с пульта "разбудить" наше устройство.
Теперь подключаемся через терминал к малинке. Далее будем почти все делать в нем.
Сперва подключаем драйвер ИК-приемника. Для этого в файл /flash/config.txt, который мы правили в самом начале, надо добавить строчку:
dtoverlay=gpio-ir
По умолчанию для IR датчика используется GPIO 18. Если у вас подключено к другому пину, то надо указать к какому:
dtoverlay=gpio-ir,gpio_pin=23 Например, к 23
Но у меня подключено к 18 и поэтому ничего указывать не надо. После изменения и сохранения файла надо перезагрузиться что бы драйвер загрузился.
Далее надо остановить Kodi и Lircd, набрав по очереди следующие команды:
systemctl stop kodiЕсли этого не сделать, то kodi или lirc будут перехватывать управление и мы не увидим сигналов с нашего пульта.
systemctl stop eventlircd
Далее смотрим какие поддерживаются протоколы:
ir-keytable
Supported protocols: other lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp
Теперь надо найти тот протокол, который будет работать с пультом. Для этого устанавливаем протокол и запускаем тест.
ir-keytable -p protocol -t
В это время направляете пульт на датчик и жмете кнопки. Если в терминале нет никакой реакции, то выходим из теста, нажав CTRL+C и запускаем следующий протокол для теста.
Как только подберете нужный протокол увидите примерно следующее:
Там будут сканкоды кнопок, которые вы нажали. Лучше сразу "прощупать" все кнопки на своем пульте и записать их коды в текстовичок. На моем пульте (rexant 38-0001) 4 кнопки не определились, а две кнопки и вовсе имеют один и тот же код.
После того как записали коды кнопок нужно сделать файл с назначением действий для них.
В офф инструкции по подключению ик пульта советуют брать коды действий из
/usr/share/kodi/system/Lircmap.xml в секции <remote device=“devinput”>Так же коды можно посмотреть, выполнив команду:
irrecord -l | grep ^KEY
В итоге я собрал вот такую таблицу:
#table rexant_38-0001,type: NECВ первой строке обязательно должно быть имя и используемый протокол.
0x5108 KEY_POWER
0x5112 KEY_TUNER
0x5107 KEY_INFO
0x5118 KEY_1
0x5119 KEY_2
0x511a KEY_3
0x511b KEY_4
0x511c KEY_5
0x511d KEY_6
0x511e KEY_7
0x511f KEY_8
0x510f KEY_9
0x5100 KEY_0
0x510c KEY_PREVIOUS
0x5105 KEY_NEXT
0x5106 KEY_REWIND
0x5115 KEY_PLAY
0x510d KEY_FORWARD
0x510b KEY_VOLUMEUP
0x510a KEY_VOLUMEDOWN
0x5114 KEY_CHANNELUP
0x510e KEY_CHANNELDOWN
0x5109 KEY_STOP
0x5104 KEY_EPG
0x5102 KEY_UP
0x5103 KEY_DOWN
0x5101 KEY_LEFT
0x5113 KEY_RIGHT
0x5110 KEY_OK
0x5111 KEY_EXIT
Файл с этой таблицей должен лежать здесь:
/storage/.config/rc_keymaps/rexant_38-0001Теперь осталось только создать файл
/storage/.config/rc_maps.cfg
со следующим содержанием:
* * rexant_38-0001
Далее перезагрузка и можно управлять пультом:)
Вот только пульт этот оказался неудобен и я купил другой - Sagemcom DS187 HD (Справа)
На нем определились все кнопки и у каждой даже свой собственный сканкод:)
Так же как и для первого пульта нашел протокол и составил таблицу dsi87hd:
Нижние два ряда кнопок пока не стал использовать.#table dsi87hd, type: NEC
0x860e12 KEY_POWER
0x860e28 KEY_LANGUAGE
0x860e01 KEY_1
0x860e02 KEY_2
0x860e03 KEY_3
0x860e04 KEY_4
0x860e05 KEY_5
0x860e06 KEY_6
0x860e07 KEY_7
0x860e08 KEY_8
0x860e09 KEY_9
0x860e00 KEY_0
0x860e29 KEY_INFO
0x860e13 KEY_EPG
0x860e0d KEY_VOLUMEUP
0x860e0e KEY_VOLUMEDOWN
0x860e10 KEY_CHANNELUP
0x860e1a KEY_CHANNELDOWN
0x860e0b KEY_UP
0x860e0c KEY_DOWN
0x860e1b KEY_LEFT
0x860e1c KEY_RIGHT
0x860e15 KEY_OK
0x860e14 KEY_BACK
0x860e0a KEY_HOME
0x860e1f KEY_MUTE
0x860e11 KEY_MENU
0x860e2e KEY_PREVIOUS
0x860e1d KEY_REWIND
0x860e26 KEY_FORWARD
0x860e2f KEY_NEXT
0x860e21 KEY_RECORD
0x860e24 KEY_STOP
0x860e23 KEY_PLAY
0x860e22 KEY_PAUSE
0x860e16 KEY_RED
0x860e17 KEY_GREEN
0x860e18 KEY_YELLOW
0x860e19 KEY_BLUE
Но мне не понравилось как работают некоторые кнопки. Например, red, green, yellow и blue. Они открывали pvr, список видео, музыки и фото. Причем открывали именно список с папками, а не саму библиотеку со списком фильмов или сериалов. Покапавшись в гугле нашел способ переназначения событий на уже готовые ключи. Нужно создать вот этот файл:
storage/.kodi/userdata/keymaps.xmlВ котором указываем какие события у каких ключей хотим заменить на свои. Сами ключи, которые доступны смотрел тут. Вот здесь смотрел доступные команды, а здесь какие окна можно вызвать. Получился такой вот небольшой файл.
<?xml version="1.0" encoding="UTF-8"?>
<keymap>
<global>
<remote>
<red>ActivateWindow(tvchannels)</red>
<green>ActivateWindow(videos,videodb://movies/titles/)</green>
<yellow>ActivateWindow(videos,videodb://tvshows/titles/)</yellow>
<blue>ActivateWindow(music,musicdb://artists/)</blue>
<power>ActivateWindow(shutdownmenu)</power>
<language>RunAddon(service.libreelec.settings)</language>
<record>ActivateWindow(favourites)</record>
</remote>
</global>
</keymap>
Заметьте, на кнопке language настроил запуск настроек самой либры. Там настройки подключения к вайфаю, который регулярно отваливается, а в некоторых темах нет ссылки на эти настройки.
Структура описания действий:
Все что описано в разделе global будет выполняться во всей системе. Раздел remote говорит нам что это действия для ИК управления. В него и записываем ключи и само действие. Если хотите что бы кнопка срабатывала в каком то определенном окне то создайте раздел с именем этого окна, а в нем уже раздел чем будете управлять, а в нем уже сами ключи-действия. Например:
<keymap>тут кнопка будет срабатывать в окне "Избранное". Помимо кнопок для пульта можно указать кнопки для геймпада, клавиатуры и тп.
<favourites>
<remote>
<red>ActivateWindow(tvchannels)</red>
</remote>
</favourites>
</keymap>
После этого перегружаемся и если все правильно сделали - безмерно радуемся:)
Далее поставил еще тему Transparency! В ней покрупнее шрифт(Arial Big) - надо выбрать его из списка, причем "на ощупь" если язык стоит русский, потому что кириллицу не поддерживает шрифт по умолчанию. Так же покрупнее элементы меню, которые можно настроить практически как угодно. Ну и немного читабельнее в ней текст. Еще несколько фото:
Такой вот получился смарт тв.
Перед началом TI19 столкнулся с проблемой просмотра Twitch на телевизоре Samsung.
Так как приложение пропало с официального магазина. И нашел такое решение запуска трансляций.
Регаемся на сайте https://ottplayer.es/ заходим в плейлисты и создаём новый плейлист, в источнике плейлиста выбираем ссылку и добавляем свой линк на twitch (его можно взять тут - http://146.185.158.123/twitch/playlist.php, вводите свой ник на твиче и получаете линк)
Минус в том что при каждом новом запуске трансляции, ссылку надо обновлять на сайте отт. Пост не ради рекламы, а в целях информации, так как многие столкнулись с такой проблемой.
Привет всем! Подскажите сайты более-менее адаптированные для просмотра на них фильмов через Smart-TV. На некоторых не запускается плеер, на других плеера нет вообще, спасите
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
Привет Дамы и Господа.
Чтобы посмотреть фильм или сериал на телевизоре - использую hms (home media server), предварительно скачав контент на пеке
Если смотрю фильм на компе, то использую ace stream player, в него кидаю .torrent и моментально начинаю смотреть.
Проблема начинается, когда пытаешься по dlna посмотреть кино в 4к или другой контент с весом овер 10гб.
Может есть возможность передачи с компа на телевизор такого рода формат без кабелей хдми, а в идеале что-то типо ace stream только для телевизора