Plex - Довольно таки неплохой медиасервер с функциями dlna.
Официальный сайт: plex.tv
Думаю он заслуживает отдельной темы на форуме.
Как я пришел к такому выбору - не буду описывать. Достаточно прочитать статейку на хабре. От себя лишь добавлю что меня лично зацепило наличие описания как фильмов так и сериалов (даже отдельных серий) и постеры на фильмы.
Так как это медиасервер, у него есть серверная часть (plex media server), и клиентская. У сервера есть неплохой веб-интерфейс. Выглядит как то так: Клиентские приложения есть на большинство устройств, в том числе для smarttv (от части из за этого был выбран телек samsung...сейчас и на lg вроде как есть). На PC клиент называется Plex Home Theater. Это так, небольшая справочка.
Теперь ближе к делу) У меня на телике почему-то начал глючить клиент плекса (точнее дело, скорее, в самом smart-tv). Он сам по себе то медленный, а тут еще и видео начали подвисать на минуту после 5сек воспроизведения. Не скажу что виновата сеть, т.к. на компе подключенном по тому же wifi все работает отлично. Причину так и не нашел. Единственный вариант - смотреть с компа.
Сервак с алисой у меня как раз подключен к тв, но без клавы и мыши, по-этому пришлось немного помудрить)).
Не особо напрягаясь наткнулся на web api.
И приложив немного усилий получаем функциональный пульт в MD для Plex Home Theater. Может кому пригодится). Добавляем html-элемент в меню со следующим кодом
Код: Выделить всё
<table align="center">
<tr align="center">
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/playback/pause');return false;">
<img src="\templates_alt\img\icons\plex\media-playback-pause.png" />
</a>
</td>
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/navigation/back');return false;">
<img src="\templates_alt\img\icons\plex\edit-undo.png" />
</a>
</td>
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/navigation/moveUp');return false;">
<img src="\templates_alt\img\icons\plex\draw-triangle3.png" />
</a>
</td>
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/navigation/home');return false;">
<img src="\templates_alt\img\icons\plex\go-home.png" />
</a>
</td>
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/playback/stop');return false;">
<img src="\templates_alt\img\icons\plex\media-playback-stop.png" />
</a>
</td>
</tr>
<tr align="center">
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/playback/skipPrevious');return false;">
<img src="\templates_alt\img\icons\plex\media-skip-backward.png" />
</a>
</td>
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/navigation/moveLeft');return false;">
<img src="\templates_alt\img\icons\plex\draw-triangle1.png" />
</a>
</td>
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/navigation/select');return false;">
<img src="\templates_alt\img\icons\plex\draw-square-inverted-corners.png" />
</a>
</td>
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/navigation/moveRight');return false;">
<img src="\templates_alt\img\icons\plex\draw-triangle2.png" />
</a>
</td>
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/playback/skipNext');return false;">
<img src="\templates_alt\img\icons\plex\media-skip-forward.png" />
</a>
</td>
</tr>
<tr align="center">
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/playback/stepBack');return false;">
<img src="\templates_alt\img\icons\plex\media-seek-backward.png" />
</a>
</td>
<td>
</td>
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/navigation/moveDown');return false;">
<img src="\templates_alt\img\icons\plex\draw-triangle4.png" />
</a>
</td>
<td>
</td>
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/playback/stepForward');return false;">
<img src="\templates_alt\img\icons\plex\media-seek-forward.png" />
</a>
</td>
</tr>
<tr align="center">
<td>
</td>
<td>
</td>
<td>
<a href="#" onClick="$.get('http://%ThisComputer.plexip%:3005/player/playback/play');return false;">
<img src="\templates_alt\img\icons\plex\media-playback-start.png" />
</a>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
Код: Выделить всё
getURL('http://localhost:3005/player/playback/setParameters?volume='.$params['VALUE']);
Код: Выделить всё
safe_exec('start /B "" "scripts\PHT.lnk"');
Картинки в архиве)