Трансляция экрана компьютера через DLNA сервер

Возникла необходимость организовать трансляцию экрана моего ПК на старенький LG Smart TV (2008 года выпуска). В магазине приложений LG SmartWorld ничего подходящего не нашлось. Можно было бы решить эту задачу с помощью HDMI кабеля или технологий Miracast / Intel WiDi, которые поддерживается телевизором. Но первый вариант не подходит из-за большого расстояния между конечными устройствами, а для второго потребуются дополнительные вложения, чтобы добавить совместимость с соответствующей технологией на компьютере. Из каналов связи остается только проводное Ethernet соединение, которое было проложено в квартире еще на этапе ремонта. Ну а картинку будем передавать через DLNA, благо телевизор этот стандарт так же поддерживает.

Потратив достаточное количество времени, действительно полезной информации удалось найти совсем крохи. Просмотр медиа-контента через DLNA в виде отдельных файлов — проще простого. Куча разных серверов умеют это делать. А вот работать с потоковым видео способны не все. В итоге решил собрать в одном месте всю информацию, которую удалось отыскать. Стоит уточнить, что речь идет про операционные системы семейства Windows. Для Linux можете обратить внимание вот на этот проект (если знаете что-то еще — пишите в комментариях).

1. TVersity Screen Server

Пожалуй, самый простой способ для реализации задуманного. На компьютер устанавливается программа, которая поднимает DLNA сервер и транслирует туда видео-поток экрана. Из минусов стоит отметить небогатый выбор настроек, отсутствие возможности использования мощностей GPU и низкое качество картинки. Скачать программу можно с официального сайта.

2. OBS Studio + NGINX with RTMP + Serviio

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

Для начала требуется скачать сборку NGINX с модулем RTMP под Win32 (тыц). Распаковываем архив в любой каталог (главное, чтобы в пути не было кириллицы) и вносим правки в файл conf/nginx.conf:

worker_processes  1;

events {
    worker_connections  1024;
}

rtmp {
  server {
    listen 1935;
    chunk_size 4096;
    application live {
      live on;
      record off;
    }
  }
}

После запускаем nginx.exe (лучше из консоли, чтобы видеть причины возможных ошибок).

Теперь скачиваем и устанавливаем OBS Studio. В настройках выставляем все так, как на скриншотах (нажмите, чтобы увеличить).

Не забываем добавить источник «Захват экрана» в текущую сцену.

Последним этапом будет конфигурация и запуск Serviio Media Streaming Server. Переходим в консоль управления и добавляем в медиатеку онлайн источников ссылку на наш RTMP поток. Здесь же можно протестировать работоспособность с помощью соответствующей кнопки.

После этого можно закрыть окно настроек и запустить трансляцию в OBS Studio.


В самом же телевизоре открываем меню SMART и запускаем системное приложение SmartShare. Наша DLNA сервер должен появиться на вкладке «Подключенное устройство».

Стоит заметить, что любой способ трансляции через DLNA имеет существенный недостаток в виде задержки потока на несколько секунд. Так что, например, поиграть в компьютерные игры — не получится.

Обсуждение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *