[Настройка] Домашний кинотеатр kodi(xbmc)

Описание настройки чего либо

Модераторы: immortal, newz20

sega6549
Сообщения: 482
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 58 раз
Поблагодарили: 73 раза
Контактная информация:

[Настройка] Домашний кинотеатр kodi(xbmc)

Сообщение sega6549 » Пн авг 31, 2015 2:58 pm

у меня стоит комп, на винде, на нем собственно установлен МЖД так же на нем же стоит kodi(xbmc) которым пока я управляю ik-пультом, собственно который эмулирует нажатия стрелок вверх вниз лево право и клавиши ввод и назад, такой вопрос как подружить МЖД и kodi, чтоб например в МЖД видеть список файлов(с этим разобрался) и собственно клавиши управления вверх вниз лево право и клавиши ввод и назад, больше ничего в принципе и не надо, пробовал в терминалах подключить но че то не пашет, в плеере самом все настроено, логин и пароль и все такое, конечно в идеале написать бы сцену чисто под него, например типа такой: http://www.youtube.com/watch?v=1yb_VtsaFCM но это уже мечты) кто нить реализовывал уже управление этим плеером и как?
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
skysilver
Сообщения: 2698
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 354 раза
Поблагодарили: 1569 раз
Контактная информация:

Re: домашний кинотеатр kodi(xbmc)

Сообщение skysilver » Пн авг 31, 2015 10:59 pm

Через терминалы должно работать, поддержка есть. Но функционал ограничен - в наличии только управление воспроизведением и громкостью. Управления медиатекой, навигации по интерфейсу kodi и прочего нет. Поэтому, чтобы в мажордомо создать сцену с элементами управления kodi нужно залезать в api kodi и писать код на php в мажордомо для нужных функций. Есть ещё вариант без интеграции с мажордомо - это использовать веб-интерфейс kodi для управления. Есть разные реализации, ставятся в виде плагинов kodi. А в мажордомо можно сделать домашнюю страницу, в параметрах которой прописать ссылку на веб-интерфейс kodi.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
sega6549
Сообщения: 482
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 58 раз
Поблагодарили: 73 раза
Контактная информация:

Re: домашний кинотеатр kodi(xbmc)

Сообщение sega6549 » Вт сен 01, 2015 8:18 am

Пробовал я последний вариант, очень коряво получается, хотелось бы что нить другое
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
sega6549
Сообщения: 482
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 58 раз
Поблагодарили: 73 раза
Контактная информация:

Re: домашний кинотеатр kodi(xbmc)

Сообщение sega6549 » Ср сен 09, 2015 9:11 pm

итак, друзья! давайте друг другу помогать и делиться, я забрал нетбук и хочу управлять kodi с мжд, неужели никто не использует данную связку?(((
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Bolik.Stav
Сообщения: 60
Зарегистрирован: Вс янв 20, 2013 11:06 pm
Благодарил (а): 30 раз
Поблагодарили: 9 раз

Re: домашний кинотеатр kodi(xbmc)

Сообщение Bolik.Stav » Вт сен 15, 2015 1:58 am

А собственно для чего управлять Kodi c МЖД,именно как стрелками и меню?
Как бы основная задача МЖД следить за системами и управлять/уведомлять.
Произошла тревога - Остановить фильм - Отобразить уведомление, наверно вот такая логика должна быть.
А для управления и всё что было на видео есть хорошая софтинка yatse на андроид
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Благодарил (а): 16 раз
Поблагодарили: 66 раз
Контактная информация:

Re: домашний кинотеатр kodi(xbmc)

Сообщение m-malva » Вт сен 15, 2015 9:24 am

"А собственно для чего управлять Kodi c МЖД"
Как зачем?!
Пример:
команда: Алиса смотреть фильм Перевозчик в спальне.

1 Нашли фильм в медиотеке.
2 Проверили включен КОДИ или нет. Если нет то включили.
3 Включили и переключили ресивер на КОДИ.
4 Включили телек и переключили на КОДИ.
5 Подготовили освещение в спальне в зависимости от степени освещенности.
6 Отправили ссылку на воспроизведение.

Собственно вопрос: Как в КОДИ отправить ссылку на воспроизведение?
Bolik.Stav
Сообщения: 60
Зарегистрирован: Вс янв 20, 2013 11:06 pm
Благодарил (а): 30 раз
Поблагодарили: 9 раз

Re: домашний кинотеатр kodi(xbmc)

Сообщение Bolik.Stav » Вт сен 15, 2015 1:22 pm

m-malva писал(а):"А собственно для чего управлять Kodi c МЖД"
Как зачем?!
Пример:
команда: Алиса смотреть фильм Перевозчик в спальне.

1 Нашли фильм в медиотеке.
2 Проверили включен КОДИ или нет. Если нет то включили.
3 Включили и переключили ресивер на КОДИ.
4 Включили телек и переключили на КОДИ.
5 Подготовили освещение в спальне в зависимости от степени освещенности.
6 Отправили ссылку на воспроизведение.

Собственно вопрос: Как в КОДИ отправить ссылку на воспроизведение?
ну это можно разделит на две части которые можно реализовать
управление ( даже голосом ) есть в yatse
а включение телика,переключение на ресивер и активация самого Kodi это уже МЖД

теоретически Kodi умеет работать с Mysql и хранит медиатеку там.
igoryan
Сообщения: 18
Зарегистрирован: Вт сен 15, 2015 11:37 am
Благодарил (а): 9 раз
Поблагодарили: 10 раз

Re: домашний кинотеатр kodi(xbmc)

Сообщение igoryan » Вт сен 15, 2015 1:37 pm

Всем привет. Самому стало интересно как реализовать взаимодействие с Коди, реализовал пока так: (Все впринципе сырое, но работает. П.С. если что не так, сильно не пинайте. Только учусь :) )
Поехали...
Для начала создаем таблицу в базе db_terminal с именем video_list с тремя столбцами: Id , date , name
Id - автоинкремент
date - дата добавления (можно доделать скрипт или создать новый для вывода последнего добавленного видео)
name - имя файла видео
Впринцыпе можно добаить 4 столбец "Жанр(gener)" чтобы делать сортировку по жанрам , пока не реализовывал.
Добавили.

Потом написать скрипт, назовите как нравится(я назвал importvideo) следуйщего содержания:

Код: Выделить всё

$dir = '/mnt/media/films/'; //ваша папка с фильмами (поменять на свое)
$scan_dir = array_diff(scandir($dir), array('..', '.', )); // Убираем ненужное 
foreach($scan_dir as $item) { // Перебераем массив 
// Подключаемся к БД
$host="localhost"; // хост базы данных
$user="root"; // логин бд
$password="mysqlserver"; // пароль бд
$databasename="db_terminal"; // Имя бд
$date_time=date('Y-m-d H:i:s', time());
$con= mysql_connect($host,$user,$password);
mysql_select_db($databasename,$con);
$sql="INSERT INTO `video_list` (date, name) VALUES ('$date_time', '$item') ON DUPLICATE KEY UPDATE name=name"; // запрос (Дупликейт дабы не завписывалось два раза)
$result=mysql_query($sql,$con); // Выполнения запроса
mysql_close($con);} // закрываем соединение
Скрипт можно повесить на модуль watchfolders(Про модуль и его настройку можно поитать тут http://majordomo.smartliving.ru/Main/ModuleWatchfolders), для автообновления записей в бд. Или поставить время выполнения скрипта через определенное время.

Теперь мы имеем заполненную таблицу video_list, далее в зависимости от ваших требований или предпочтений можно поступить двумя способами:

Первый : Создаем шаблон с названием "Включи фильм (.+)" или "Включи видео (.+)" с кодом:

Код: Выделить всё

$n=$request=$matches[1]; // //получаем искомое название фильма (взято с темы "[Скрипт] Алиса и Википедия" за что большое спасибо)
// Подключение к бд
$host="localhost";
$user="root";
$password="mysqlserver";
$databasename="db_terminal";
$con= mysql_connect($host,$user,$password);
mysql_select_db($databasename,$con);
$sql="SELECT * FROM `video_list` WHERE `name` LIKE '%$n%'"; // поиск по похожему
$result=mysql_query($sql,$con);
while($arr=mysql_fetch_array($result)) {
// say ($arr['name']); // проговаривает имя файла, можно раскоментировать при желании
$o='smb://192.168.1.102/Media/films/'.$arr['name']; // Вместо строки "smb://192.168.1.102/Media/films/" надо вписать свой путь к видео файлам, такой же как и прописан в коди
fopen("[b]http://192.168.1.101:8888[/b]/jsonrpc?request={%22jsonrpc%22:%222.0%22,%22method%22:%22Player.Open%22,%22params%22:{%22item%22:{%22file%22:%20%22$o%22}},%22id%22:1}", 'r'); // Апи запрос. Здесь вместо "http://192.168.1.101:8888" нужно вписать свой адрес плеера и порт. (Двойные кавычки заменены на %22, при отправке запроса с кавычками не работало)
mysql_close($con); // закрываем соединение
Второй: Создаем шаблоны с контекстом(Если у вас например есть еще музыка(выбор которой можно сделать по аналогии с видео))
Называем шаблон например "Медиа" или "Мультимедиа" , ставим галочку "использовать как контекст" и в коде можно написать

Код: Выделить всё

say(' Вы Хотите фильм или музыку?');
, сохраняем и закрываем.

Создаем второй шаблон с именем "фильм". В поле "Доступно в контексте" выбираем предыдущий шаблон (Медиа или Мультимедиа, ну или как Вы его назвали)выставляем настройки.
Можно перечислить название фильмов (ВНИМАНИЕ!! Если количество фильмов большое, рассказывать будет долго, тогда время ожидания команды нужно выставить большое)
уже очень знакомый код:

Код: Выделить всё

$host="localhost";
$user="root";
$password="mysqlserver";
$databasename="db_terminal";
$con= mysql_connect($host,$user,$password);
mysql_select_db($databasename,$con);
$sql="SELECT `name` FROM `video_list`"; 
$result=mysql_query($sql,$con);
while($arr=mysql_fetch_array($result)) {
$list = explode(".", $arr['name']); // раделяем полученое до точки и после точки (убираем расширение файла)
say ($list[0]);} // проговариваем полученое
mysql_close($con);
Готово.
Создаем третий шаблон с названием "включи (.+)", в поле "Доступно в контексте" выбираем шаблон "фильм" и втавляем код :

Код: Выделить всё

$n=$request=$matches[1]; // //получаем искомое название фильма (взято с темы "[Скрипт] Алиса и Википедия" за что большое спасибо)
// Подключение к бд
$host="localhost";
$user="root";
$password="mysqlserver";
$databasename="db_terminal";
$con= mysql_connect($host,$user,$password);
mysql_select_db($databasename,$con);
$sql="SELECT * FROM `video_list` WHERE `name` LIKE '%$n%'"; // поиск по похожему
$result=mysql_query($sql,$con);
while($arr=mysql_fetch_array($result)) {
// say ($arr['name']); // проговаривает имя файла, можно раскоментировать при желании
$o='smb://192.168.1.102/Media/films/'.$arr['name']; // [b]Вместо строки "smb://192.168.1.102/Media/films/" надо вписать свой путь к видео файлам, такой же как и прописан в коди(xbmc)[/b]
fopen("[b]http://192.168.1.101:8888[/b]/jsonrpc?request={%22jsonrpc%22:%222.0%22,%22method%22:%22Player.Open%22,%22params%22:{%22item%22:{%22file%22:%20%22$o%22}},%22id%22:1}", 'r'); // Апи запрос. [b]Здесь вместо "http://192.168.1.101:8888" нужно вписать свой адрес плеера и порт[/b]. (Двойные кавычки заменены на %22, при отправке запроса с кавычками не работало)
mysql_close($con); // закрываем соединение
SQLExec("UPDATE users SET ACTIVE_CONTEXT_ID=0 WHERE 1");} // сбрасывает активный контекст 
Готово.

Теперь при команде медиа(или как Вы назвали), Алиса спросит "Хотите фильм или музыку?", Вы вводите (или говорите) "фильм", идет перечисление существующих фильмов(перечисление названий из бд), вводите (или говорите) "включи terminator" (terminator - было взято для примера) и включится фильм терминатор.
Названия фильмов у меня на Английском, так как Коди тянет из Movie Database картинки и инфу и переименовывает сразу.
С выбором видео вроде бы все. Если где-то допустил ошибки, сильно не ругайте. Ну и критика и "допиливание" кодов приветствуется .


Теперь с командами к плееру
В принципе все сделано по аналогии с видео, коды и смысл почти идентичны.
1. Заходим в Phpmyadmin (Можно просто импортировать прикрипленный файл, и дописывать Ваши команды в нем )
Создаем таблицу в базе данных с названием "kodi_commands" и тремя столбцами: id , command_name , command.
id - автоинкремент
command_name - Имя команды
command - комманда

Все данные я вводил непосредственно из phpmyadmin, тоесть выбирал нужную таблицу, в ней сверху есть SQL, в нем же и создавал запрос INSERT, id и соответствующие к нему 'value1' удалить и добавить значения:
Вместо 'value2' вписать имя команды (например 'пауза')
Вместо "value3' вписать команду (команда 'пауза' для плеера это {%22jsonrpc%22:%222.0%22,%22method%22:%22Player.PlayPause%22,%22params%22:{%22playerid%22:1},%22id%22:1} ). Как видно опять вместо двойных кавычек стоит %22, в дальнейшем тоже меняйте все кавычки на %22.

Прикриплю файл sql c некоторыми командами (Файл импотрировать в базу db_terminal)

Создаем шаблон, я назвал его "плеер (.+)", с кодом(думаю уже ничего сложного):

Код: Выделить всё

$n=$request=$matches[1];
$host="localhost";
$user="root";
$password="mysqlserver";
$databasename="db_terminal";
$con= mysql_connect($host,$user,$password);
mysql_query('SET NAMES utf8'); // обязательно!
mysql_select_db($databasename,$con);
$sql="SELECT * FROM `kodi_commands` WHERE `command_name` LIKE '%$n%'"; 
$result=mysql_query($sql,$con);
while($arr=mysql_fetch_array($result)) {
$o=$arr['command'];
$c='[b]http://192.168.1.101:8888[/b]/jsonrpc?request='; // [b]меняем адрес и порт плеера коди на свой[/b]
 fopen($c.$o, "r");}
 mysql_close($con);
Теперь при вводе команды(или проговаривании) "плеер пауза", плеер станет на паузу.
Есть краткий список команд, которые пока нашел, их можно добавить в бд и пользоватся. Не забываем менять все двойные кавычки на %22!!!
Вроде все. Повторюсь если что не так, сильно не пинайте.
Вложения
commands.zip
комманды к плееру(меняем двойные кавычки на %22)
(688 байт) 144 скачивания
kodi_commands.zip
sql файл с несколькими коммандами
(1.01 КБ) 153 скачивания
За это сообщение автора igoryan поблагодарил:
skysilver (Вт сен 15, 2015 3:03 pm)
Рейтинг: 1.25%
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Благодарил (а): 16 раз
Поблагодарили: 66 раз
Контактная информация:

Re: домашний кинотеатр kodi(xbmc)

Сообщение m-malva » Вт сен 15, 2015 3:45 pm

igoryan
Вот спасибо за такой развернутый ответ!
importvideo только добавляет, а если файла уже нет?

"из Movie Database картинки"
Можно поинтересоваться почему не с "Кинопоиска"?
igoryan
Сообщения: 18
Зарегистрирован: Вт сен 15, 2015 11:37 am
Благодарил (а): 9 раз
Поблагодарили: 10 раз

Re: домашний кинотеатр kodi(xbmc)

Сообщение igoryan » Вт сен 15, 2015 6:17 pm

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

А по второму, я только недавно установил коди, даже точнее дистрибутив openelec на raspberry, так особо не вникал и не настраивал. По свободе нада перенастроить.
Ответить