Jump to content

БД-Дж

(Перенаправлено с диска Blu-ray Java )

BD-J или Blu-ray Disc Java — это спецификация, поддерживающая Java ME (в частности, персональный базовый профиль конфигурации подключенного устройства или CDC) Xlets для расширенного контента на дисках Blu-ray и профиль упакованных носителей глобального исполняемого файла MHP ( ЖЕМЧУЖИНА).

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

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

Возможности BD-J Xlet

[ редактировать ]
  • Вызов BD-J Xlets запускается событиями, происходящими вокруг них, например, выбором названия фильма или вставкой нового диска. Xlets, в свою очередь, могут затем вызывать в игру других Xlets.
  • Безопасность в BD-J основана на модели безопасности платформы Java. То есть подписанные приложения в JAR-файлах могут выполнять больше задач, чем неподписанные, такие как доступ для чтения/записи к локальному хранилищу, доступ к сети, выбор других заголовков на диске BD-ROM и управление другими запущенными приложениями BD-J.
  • Xlets (как часть личного базового профиля CDC) не имеют графического интерфейса (т. е. не имеют виджетов AWT, таких как java.awt.Button), поэтому для создания анимации и графического интерфейса используются дополнительные классы. BD-J использует модель устройства Havi UI и набор виджетов для дистанционного управления, но он расширен, чтобы обеспечить поддержку разрешений, поддерживаемых BD, и элементов управления A/V, поддерживаемых BD.
  • BD-J имеет классы, которые позволяют пользователю точно синхронизировать определенные кадры фильма.
  • Разрешены два типа синхронизации видео: один называется «свободной синхронизацией», который использует метод обратного вызова и работает с точностью до нескольких кадров события, а другой — «жесткая синхронизация», которая использует пакет org.bluray. Тесная синхронизация позволяет приложениям точно синхронизироваться с точным кадром, используя таймкоды из пакета. javax.media.Time JMF ( Java Media Framework ).
  • Графическим пользовательским интерфейсом приложения BD-J можно управлять с помощью пульта дистанционного управления с необходимым набором клавиш и дополнительным указательным устройством. Набор необходимых ключей включает как минимум ключи, необходимые для поддержки действий пользователя в формате HDMV. [ развернуть аббревиатуру ] приложения.
  • Структура графического пользовательского интерфейса в BD-J включает структуру пользовательского интерфейса HAVi (6), утвержденную GEM ; это не среда графического интерфейса рабочего стола, такая как Swing или AWT . Платформа графического пользовательского интерфейса основана на ядре AWT, как указано в PBP, но набор виджетов включает механизмы для удаленной навигации из GEM и простую настройку внешнего вида из HAVi.
  • BD-J включает в себя медиа-инфраструктуру, аналогичную JMF, для воспроизведения медиа-контента, связанного с диском BD-ROM. Предполагается, что диск BD-ROM будет основным источником медиафайлов, но не единственным; другими источниками могут быть веб-сервер студии и локальное хранилище.
  • BD-J включает стандартные библиотеки Java для декодирования и отображения изображений в форматах JFIF ( JPEG ), PNG и других форматах изображений. Эти изображения могут отображаться в графической плоскости Java с использованием стандартных графических функций Java. Изображение также можно визуализировать в фоновой плоскости с помощью специального пакета BD-J.
  • Текст можно визуализировать с помощью стандартных текстовых функций Java. Эти функции рендеринга текста расширены за счет более продвинутого менеджера макета текста, который интегрируется с платформой пользовательского интерфейса BD-J. Текст отображается с использованием векторного шрифта, взятого с диска, плеера (шрифт по умолчанию) или загруженного из сети.
  • Звуки кнопок из HDMV [ развернуть аббревиатуру ] также может использоваться платформой пользовательского интерфейса 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. [3] Чтобы протестировать контент в типичной среде разработки (MS Windows), необходима либо PlayStation 3, либо сторонний программный проигрыватель для Windows, обращая внимание на версии проигрывателя, чтобы убедиться, что проигрыватель поддерживает BD-J. [4] [5] [6]

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

Пример кода

[ редактировать ]

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

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

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

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

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

import javax.tv.xlet.XletContext;

import org.havi.ui.HScene;
import org.havi.ui.HSceneFactory;

import java.awt.Container;
import javax.tv.graphics.TVContainer;

// Getting a container for the screen could be

public void initXlet(XletContext context) {

// Java TV API to be compatible with Java TV
TVContainer scene = TVContainer.getRootContainer(context);

// Or for BD-J, to utilize HAVi features not available in Java TV
HScene scene = HSceneFactory.getInstance().getDefaultHScene();

// Or perhaps more generally...
Container container = null;
boolean realBDJ = true;
if (realBDJ)
	container = HSceneFactory.getInstance().getDefaultHScene();
else
	container = TVContainer.getRootContainer(context);
...
}

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

import javax.media.Player;
import org.bluray.net.BDLocator;
import org.davic.media.MediaLocator;

   MediaLocator stars = new MediaLocator(new BDLocator("bd://0.PLAYLIST:00003"));
   Player player = Manager.createPlayer(stars);

// Rather than traditional and portable but more limited pure JMF

import java.net.URL;
import javax.media.Manager;
import javax.media.Player;

    Player mediaPlayer = Manager.createRealizedPlayer( new URL("file:/mymovie.mov" ));
[ редактировать ]
  • Программирование дисков HD DVD и Blu-ray. Поваренная книга HD (2008) Майкла Зинка, Филипа К. Старнера, Билла Фута - ISBN   978-0-07-149670-4 - сайт книги

См. также

[ редактировать ]
  1. ^ «Разработка приложений Blu-ray BD-J с использованием Java ME» . Архивировано из оригинала 11 сентября 2008 г. Проверено 21 октября 2008 г.
  2. ^ «Ассоциация Blu-ray Disc продвигает новый бонусный просмотр» .
  3. ^ [hdcookbook.jovial.com/HDCookbook для BD-J]
  4. ^ «Примечания и рекомендации по созданию дисков Blu-ray Java и GEM/MHP/OCAP» . Архивировано из оригинала 24 декабря 2008 г. Проверено 21 октября 2008 г.
  5. ^ Получение программного обеспечения (BD-J) PC Player. Архивировано 24 декабря 2008 г. на Wayback Machine - упоминается, что могут потребоваться специальные «версии для разработчиков» пьесы.
  6. ^ Приложение HelloWorld BD-J: ваша первая чашка для DVD следующего поколения. Архивировано 7 февраля 2009 г. на Wayback Machine - включает примечания по включению удаленной отладки или регистрации с помощью проигрывателей ПК.
  7. ^ Создание справочной документации Javadoc API для разработки приложений для дисков Blu-ray.
  8. ^ «Получение определения платформы BD-J» . Архивировано из оригинала 24 декабря 2008 г. Проверено 21 октября 2008 г.
  9. ^ Разработка приложений для дисков Blu-ray с помощью Java ME, Часть 1: Создание вашего первого приложения Брюс Хопкинс, сентябрь 2008 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4568bf44bf13aeaf3b7aaf8fc79172d6__1676831580
URL1:https://arc.ask3.ru/arc/aa/45/d6/4568bf44bf13aeaf3b7aaf8fc79172d6.html
Заголовок, (Title) документа по адресу, URL1:
BD-J - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)