BD-J

редактировать
Поддержка спецификаций Java ME Xlets для расширенного содержимого на дисках Blu-ray и e Профиль упакованного носителя для глобально исполняемого MHP

BD-J или Blu-ray Disc Java - это спецификация, поддерживающая Java ME (в частности, персональный базовый профиль Connected Device Configuration или CDC) Xlets для расширенного содержимого на Blu-ray Disc и профиль Packaged Media Global Executable MHP ( GEM).

BD-J позволяет сделать бонусный контент на заголовках дисков Blu-ray намного более сложным, чем бонусный контент, предоставляемый стандартным DVD, включая доступ к сети, картинку в картинке и доступ к расширенному локальное хранилище. В совокупности эти функции (кроме доступа в Интернет) называются «Bonus View », а добавление доступа в Интернет называется «BD Live ». BD-J был разработан Ассоциацией дисков Blu-ray. Все проигрыватели дисков Blu-ray, поддерживающие видеоконтент, согласно спецификации должны поддерживать BD-J. Начиная с 31 октября 2007 года, все новые игроки должны иметь аппаратную поддержку функций «Bonus View», но игрокам могут потребоваться будущие обновления прошивки для включения этих функций. Поддержка «BD Live» всегда является необязательной для проигрывателя BD.

Sony PlayStation 3 была де-факто лидером в области соответствия и поддержки BD-J. PlayStation 3 добавила поддержку Blu-ray Profile 1.1 с обновлением прошивки и использовалась для демонстрации BD-Live на выставке CES 2008 в январе.

Содержание
  • 1 Возможности BD-J Xlet
  • 2 Разработка контента
  • 3 Пример кода
  • 4 Связанная публикация
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
Возможности BD-J Xlet
  • Вызов BD-J Xlets инициируется событиями, происходящими вокруг них, например, выбором названия фильма или вставкой нового диска. Xlets, в свою очередь, могут затем вызывать другие Xlets в игру.
  • Безопасность в BD-J основана на модели безопасности платформы Java. То есть подписанные приложения в JAR могут выполнять больше задач, чем не подписанные, такие как доступ для чтения / записи к локальному хранилищу, доступ к сети, выбор других заголовков на диске BD-ROM и управление другими запущенными приложениями BD-J..
  • Xlets (как часть личного базового профиля CDC) не имеют графического интерфейса пользователя (т.е. нет виджетов AWT, таких как java.awt.Button), поэтому дополнительные классы вызываются в игру для создания анимации и графического интерфейса. BD-J использует модель устройства и набор виджетов для использования удаленного управления, но он расширен, чтобы обеспечить поддерживаемые BD разрешения и элементы управления A / V, поддерживаемые BD.
  • BD-J имеет классы, которые позволяют пользователю для точной синхронизации с определенными кадрами в фильме.
  • Разрешены два типа видеосинхронизации, один из которых называется «свободная синхронизация», который использует метод обратного вызова и действует с точностью до нескольких кадров события, и другой - «жесткая синхронизация», в которой используется пакет org.bluray. Точная синхронизация позволяет приложениям точно синхронизировать с точным кадром, используя временные коды из пакета javax.media.TimeJMF (Java Media Framework ).
  • Графический интерфейс приложения BD-J может работать с дистанционное управление с необходимым набором клавиш и дополнительным указывающим устройством. Набор требуемых клавиш включает как минимум клавиши, необходимые для поддержки пользовательских операций в приложениях HDMV.
  • Структура графического интерфейса пользователя в BD-J включает HAVi (6) Инфраструктура пользовательского интерфейса, утвержденная GEM ; это не среда графического интерфейса рабочего стола, такая как Swing или AWT. Фреймворк GUI основан на на основе AWT, как указано в PBP, но набор виджетов включает механизмы для удаленного управления навигацией из GEM и простой настройки внешнего вида из HAVi.
  • BD-J включает среду мультимедиа, аналогичную JMF для воспроизведение мультимедийного контента, относящегося к диску BD-ROM. Предполагается, что диск BD-ROM будет основным источником мультимедийных файлов, но не будет единственным у один; другими источниками могут быть веб-сервер студии и локальное хранилище.
  • BD-J включает стандартные библиотеки Java для декодирования и отображения изображений в JFIF (JPEG ), PNG и другие форматы изображений. Эти изображения могут отображаться на плоскости графики Java с помощью стандартных функций графики Java. Изображение также может быть визуализировано в плоскости фона с использованием специального пакета BD-J.
  • Текст может быть визуализирован с использованием стандартных текстовых функций Java. Эти функции рендеринга текста расширены более продвинутым менеджером макета текста, который интегрируется со структурой пользовательского интерфейса BD-J. Текст отображается с использованием векторного шрифта, поступающего с диска, проигрывателя (шрифт по умолчанию) или загруженного из сети.
  • Звуки кнопок также могут использоваться средой пользовательского интерфейса Java. Звуковые файлы могут быть загружены и воспроизведены как реакция на нажатие пользователем клавиши, или как реакция на отмеченное событие, связанное с фильмом, или как реакция на любое событие, созданное приложением BD-J.
  • Аутентифицированные приложения могут использовать (подписанный) файл запроса разрешений для получения разрешений, выходящих за рамки песочницы BD-J. Разрешения можно получить для:
    • Чтение и запись в локальное и системное хранилище
    • Использование сетевого подключения (для подключения к определенным серверам)
    • Доступ к файловой системе на Диск BD-ROM
    • Выбор заголовков для других заголовков на диске BD-ROM
    • Управление другими запущенными приложениями BD-J
  • Приложения BD-J могут использовать java.net пакет для подключения к серверам в Интернете. Физическое соединение может отличаться в зависимости от реализации, например. Ethernet, телефонная линия и т. Д. На уровне сети поддерживается TCP / IP и может использоваться протокол HTTP. Более того, пакет Java для безопасных соединений включен (JSSE ) как часть платформы BD-J. Прежде чем приложение BD-J сможет использовать сетевое соединение, оно должно быть аутентифицировано и иметь соответствующее разрешение на использование сети.
  • Веб-сайты, на которые будет переходить приложение, находятся под полным контролем поставщика контента. Этот контроль гарантируется двумя способами:
    • При воспроизведении диска разрешается запускать только приложения BD-J с аутентификацией (диск). Приложение контролирует использование сетевого подключения.
    • Кроме того, права, определенные на диске, могут ограничивать использование сетевого подключения (TCP / IP) для определенных сайтов.
  • BD-J будет включать поддержку для хранения. Включены два варианта хранилища: обязательное системное хранилище и дополнительное локальное хранилище. Доступ ко всему хранилищу осуществляется с помощью методов из пакета Java IO. Путь к локальному хранилищу указан в [GEM].
  • Системное хранилище - это хранилище, которое будет присутствовать во всех проигрывателях BD-J. Требуемый минимальный размер этого системного хранилища позволит хранить данные приложения, такие как настройки, рекорды и т. Д. Его будет недостаточно для хранения загруженного AV-материала. Для этой цели доступно дополнительное локальное хранилище. Обычно системное хранилище будет реализовано с использованием флэш-памяти, а дополнительное локальное хранилище будет реализовано на жестком диске.
  • Поскольку хранилище является общим ресурсом для всех дисков, воспроизводимых на плеере, управление доступом Java является частью BD-J. Приложения BD-J могут получить доступ только к определенной части дискового пространства и не могут получить доступ к части, принадлежащей другим дискам.
Разработка контента

У авторов контента есть различные доступные стратегии разработки, включая использование традиционные интегрированные среды разработки (IDE), такие как NetBeans или Eclipse, непрограммируемые графические среды, подобные Macromedia Director, или через механизмы визуализации, которые используют стандартные форматы данных, такие как как HTML, XML или SVG. Наличие полной среды программирования, доступной на каждом проигрывателе дисков Blu-ray, предоставляет разработчикам платформу для создания типов контента, не связанных ограничениями стандартного DVD. В дополнение к стандартным API BD-J разработчики могут использовать существующие библиотеки Java и каркасы приложений, при условии, что они не используют функции, выходящие за рамки ограничений платформы BD-J, включая то, что Java ME поддерживает только Java версии 1.3. файлы классов.

Набор свободно доступных инструментов, позволяющих разработчикам Java создавать полные образы дисков, включающих BD-J, доступен в HD Cookbook Project. Для тестирования контента в типичной среде разработки (MS Windows) требуется либо PlayStation 3, либо сторонний программный проигрыватель для Windows, обращая внимание на версии проигрывателя, чтобы убедиться, что проигрыватель поддерживает BD-J.

Из-за наличия множества различных стандартов и компонентов создание единой документации на BD-J оказалось сложной задачей.

Пример кода

Среда BD-J предназначена для работы Xlets с пакетами, отличными от javax. *, доступны для использования функций, характерных для этой платформы, помимо тех, что определены в Java TV.

Даже простой пример, такой как FirstBDJApp.

Разработчик может решить использовать не пакеты javax. *, а вместо этого использовать:

  1. HAVi классы в дереве пакетов org.havi. *: альтернативные классы для получения, например, org.havi.ui.HScene, намного превосходящего то, что предоставляется javax.tv.graphics.TVContainer(они оба являются расширениями java.awt.Container)
  2. Цифровое видеовещание ting (DVB) в дереве пакетов org.dvb. *: классы, альтернативные, например, интерфейсу org.dvb.event.UserEventListener, а не java.awt.event.KeyListenerдля поддержки нажатия клавиш и кодов клавиш, характерных для популярных устройств CDC.
  3. Классы дисков Blu-ray в дереве пакетов org.bluray. *: классы DAVIC и DVB зависят от распознавания дополнительных событий, свойственных платформе BD-J, таких как всплывающие меню, и для поиска носителей на диске Blu-ray.
  4. DAVIC классы API в дереве пакетов org. davic. *: Небольшой набор классов, охватывающих или расширяющих другие сетевые и медиаресурсы, характерные для интерактивного телевидения, которые классы HAVi, DVB и Blu-ray используют для локаторов и специализированных исключений, выходящих за рамки JMF (например, авторизация контента).

Рабочим примером программы, использующей некоторые функции из каждого из деревьев классов, может быть BdjGunBunny Xlet (очень простая версия Space Invaders, использующая изображение кролика в качестве стрелка. ter и черепахи в качестве целей), приведенный в качестве примера в Java ME 3.0 SDK.

import javax.tv.xlet.XletContext; импортировать org.havi.ui.HScene; import org.havi.ui.HSceneFactory; import java.awt.Container; import javax.tv.graphics.TVContainer; // Получение контейнера для экрана может быть public void initXlet (XletContext context) {// API Java TV для совместимости с Java TV TVContainer scene = TVContainer.getRootContainer (context); // Или для BD-J, чтобы использовать функции HAVi, недоступные в Java TV HScene scene = HSceneFactory.getInstance (). GetDefaultHScene (); // Или, возможно, в более общем плане... Контейнер container = null; логическое realBDJ = true; если (realBDJ) контейнер = HSceneFactory.getInstance (). getDefaultHScene (); иначе контейнер = TVContainer.getRootContainer (контекст);...}

и то же самое для других пакетов, отличных от javax. *. Аналогичным образом, при попытке воспроизведения видео можно вызвать утилиту Blu-ray и DAVIC вместо использования стандартного JMF:

import javax.media.Player; import org.bluray.net.BDLocator; import org.davic.media.MediaLocator; MediaLocator stars = новый MediaLocator (новый BDLocator ("bd: //0.PLAYLIST: 00003")); Player player = Manager.createPlayer (звезды); // Вместо традиционного и портативного, но более ограниченного чистого JMF import java.net.URL; import javax.media.Manager; import javax.media.Player; Player mediaPlayer = Manager.createRealizedPlayer (новый URL ("файл: /mymovie.mov"));
Связанная публикация
  • Программирование HD DVD и Blu-ray Disc The HD Cookbook (2008) Майкла Зинка, Филипа С. Старнера, Билла Фута - ISBN 978-0-07- 149670-4 - веб-сайт книги
См. Также
  • значок Портал компьютерного программирования
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-11 03:14:30
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте