Недавно Beholder выпустила новую версию программного обеспечения (5.17) для всех моделей ТВ- тюнеров. Наряду с многочисленными дополнениями и изменениями, в новой версии появилась одна уникальная особенность, о которой давно ходят слухи, и которая частично уже была реализована с помощью плагинной системы. Речь идет о параллельном использовании нескольких тюнеров. Напомню, в своей первой реализации, эта особенность имела множество ограничений из-за которых пользователь мог использовать дополнительные ТВ- тюнеры только в режиме просмотра и только в режиме картинка в картинке. Теперь разработчикам удалось реализовать полную поддержку 11 тюнеров. Причем, ограничение на число тюнеров было введено условно. В теории тюнеров может быть намного больше, только вот вряд ли в современном компьютере найдется столько PCI и PCI-E слотов, да и пропускной способности шины USB2.0 не хватить для подключения очень большого числа тюнеров. Так что цифра 11 взята уже с запасом.
Зачем нужны несколько тюнеров в одном компьютере?
Прежде чем приступить к изучению особенностей реализации новой особенности, вспомним, зачем нужно несколько тюнеров в одном компьютере, и чем это может быть полезно нам, рядовым пользователям?
Мое первое знакомство с возможностью одновременного использования нескольких ТВ- тюнеров произошло в далеком 2005 году, когда Microsoft выпустила Windows MCE. Windows MCE является ничем иным как Windows XP с дополнительной мультимедийной оболочкой Windows Media Center, которая, помимо удобного механизма работы с аудио и видео контентом, имела уникальный механизм для работы с ТВ- тюнерами. Это была первая программа для работы с тюнерами, в которой была реализована работа с программой передач для аналогового ТВ, и параллельная работа с двумя аналоговыми тюнерами, что позволило смотреть один канал и параллельно записывать второй. Причем, пользователь не должен был беспокоиться о том, какой тюнер за что отвечает. Программа сама распределяла задачи между тюнерами.
С одной стороны, данная реализация меня полностью устраивала, однако, в некоторых ситуациях ее оказывалось недостаточно. Приведу простой пример. Обычно сидя за компом я люблю слушать радио, при этом иногда возникает необходимость записать какую-либо телевизионную программу, на которую я не хочу отвлекаться в данный момент. С Windows Media Center этого реализовать нельзя. Приходилось комбинировать два тюнера разных производителей, которые запускались одновременно, что чаще всего приводило к конфликтным ситуациям и к появлению проблем. А вот еще один пример связанный с функцией трансляции в сеть, которая уже давно реализована в тюнерах Beholder. Раньше для организации трансляции в сеть нескольких каналов приходилось использовать столько компьютеров, сколько каналов вы хотите транслировать, что, как вы понимаете, крайне неудобно и экономически неоправданно.
Что предлагает Beholder?
Программистам Beholder удалось реализовать, на мой взгляд, самый простой и одновременно самый универсальный вариант использования нескольких ТВ- тюнеров в одном компьютере. Они реализовали возможность запуска нескольких экземпляров программы BeholdTV. Для каждого экземпляра поддерживается профиль с индивидуальными настройками. Другими словами, на рабочем столе у вас будет запущено несколько окон программы BeholdTV, при этом каждое окно полностью независимо, и имеет собственные настройки. Таким образом, вы можете запустить один экземпляр приложения в режиме FM- приемника, а другие – в режиме ТВ. При этом вы сможете одновременно слушать, смотреть, записывать и транслировать каналы.
Как включить несколько экземпляров BeholdTV? Если вы попробуете несколько раз запустить программу BeholdTV, то получите только одну копию приложения. Тут ничего не поделаешь. Это особенность операционной системы. Для того чтобы можно было запустить несколько экземпляров BeholdTV, необходимо подготовиться.
Для начала необходимо привязать профили к установленным тюнерам. Сделать это можно с помощью утилиты BeholdTVConfig. Профиль задается в верхней строке. Обратите внимание, программа поддерживает один профиль по умолчанию, который вы задали при установки программы BeholdTV и 10 дополнительных профилей. Обратите внимание на строку "- inst:0-9". Это дополнительная опция запуска BeholdTV, которая используется для идентификации экземпляра программы. Для каждого профиля можно выбрать тюнер, язык интерфейса и линию управления аудио микшера для воспроизведения и записи звука.
После того, как мы привязали профили к установленным тюнерам, пришло время создать для каждого профиля ярлык запуска, где необходимо задать дополнительный параметр "inst". Для тех, кто не умеет создавать ярлыки для программ, поясню, что это можно сделать, кликнув правой кнопкой мышки по приложению, для которого необходимо создать ярлык. Выбрать пункт "Отправить" и далее "Рабочий стол (ярлык)". Далее открываем свойства ярлыка (правый клик по ярлыку). Здесь необходимо задать параметр "inst" с соответствующим номером (от 0 до 9).
При желании можно изменить имя ярлыка и иконку. Эти шаги повторяем для каждого тюнера. В принципе, это все, что нужно сделать для запуска нескольких тюнеров на одном компьютере. Теперь можно приступить к изучению возможностей, и начнем с примера, который я привел выше, а именно с одновременного прослушивания радио и записи ТВ- программы. Выглядит это примерно так, как показано на скриншоте ниже.
Ничего удивительно в этом нет. Два приложения работают абсолютно независимо, и каждый выполняет свою задачу. Для каждого приложения имеется собственный агент в трее. При просмотре двух телевизионных каналов пользователь может независимо выбирать тип вещания.
Для тех из нас, кто планирует использовать несколько тюнеров для записи, отметим, что благодаря независимости каждого экземпляра программы можно установить индивидуальные параметры записи и воспользоваться планировщиком Доступ к планировщику и к другим функциям тюнера можно получить как из панели управления, так и с помощью агента.
Пробуя, в нескольких (в моем случае в двух) экземплярах программы, запись по расписанию, я обнаружил, что для каждого экземпляра программы запускается отдельный агент, который, собственно, и управляет компьютером в зависимости от задания. В частности, он позволяет вывести компьютер из состояния "Сна" для начала записи и выключить его после завершения задания. Пока с этой возможностью надо обращаться аккуратно, иначе вы можете одним агентом выключить компьютер в то время, пока другой экземпляр программы ведет запись. В идеале необходимо реализовать зависимую связь всех агентов и планировщиков, что позволит гибко управлять компьютером. Кроме этого, было бы здорово реализовать возможность автоматического подключения неактивных экземпляров программы, и передавать им параметры записи, в случае если происходит пересечение заданий во времени. В теории, это выглядит очень красиво и несложно, однако, на практике реализовать это очень сложно. Разработчикам придется продумать множество возможных сценариев для того, чтобы решение одной задачи не вызвало дополнительных проблем. Возможно, в будущем разработчики что-то и сделают, но пока для эффективного использования нескольких тюнеров для записи по расписанию, пользователь должен сам определить то, какой тюнер, что будет записывать и записывать для него собственное задание в соответствующем экземпляре планировщика.
Во время параллельной записи на нескольких тюнерах важно помнить о производительности вашего компьютера. В моем тестовом компьютере используется процессор Intel Core2Quad, работающий на частоте 2.4ГГц. При запуске записи в формате AVI в разрешении 768х576 пикселей без компрессии загрузка процессора минимальна и составляет порядка 5-6%. Если же выбрать программный кодек MPEG2 с разрешением 720х576 пикселей, то загрузка при записи двух каналов увеличивается до 40%. Это необходимо учитывать при выборе числа тюнеров, установленных в одном компьютере.
Одним из применений многотюнерной конфигурации является организация трансляции в сеть. Программа BeholdTV поддерживает несколько протоколов потокового вещания (HTTP unicast и UDP/RTP multicast). В настройках трансляции в сеть имеется возможность выбора порта, максимального числа подключенных клиентов и наименование сессии, которая будет отображаться в заголовке видеопотока.
Для организации трансляции в сеть достаточно установить для каждого экземпляра программы BeholdTV свой порт. Я использую протокол HTTP. Он обеспечивает возможность просмотра видео по Wi-Fi, но при этом создает несколько большую загрузку сети, что в рамках домашней локальной сети не так уж критично. Если вы планируете вещать в большую сеть, то удобнее воспользоваться протоколом UDP. В результате этих нехитрых действий и создания простого M3U файла, включающего ссылки на каждый экземпляр программы, я получил возможность независимого просмотра ТВ или радиоканала с любого компьютера в домашней сети.
Заключение
С выпуском новой версии программного обеспечения, Beholder, в очередной раз, подняла планку качества и функционала, которым должны соответствовать современные тюнеры. Добавление возможности использования нескольких тюнеров в одном компьютере позволило решить много задач, не имевших до сих пор удобного и на 100% работающего решения. Теперь я могу без проблем планировать запись ТВ программ и при этом слушать любимое "Наше радио", могу независимо писать 11 каналов, и, что возможно попробую в будущем реализовать в полной мере, полноценную трансляцию в сеть. Не могу не отметить и тот факт, что все это, в очередной раз, мы получили совершенно бесплатно для всех тюнеров Beholder, даже тех, которые были куплены много лет назад, и по своему функционалу они вроде как уже не совсем современны, но при этом их можно добавить в систему и использовать для решения поставленных задач записи и трансляции того же аналогового ТВ или радио.