XBMC4Xbox — это бесплатное программное обеспечение с открытым исходным кодом для медиаплеера, созданное исключительно для игровой консоли Xbox первого поколения . Программное обеспечение было ответвлено от проекта XBMC (теперь известного как Kodi и ранее известного как Xbox Media Player) после того, как XBMC прекратил поддержку консоли Xbox. [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Помимо воспроизведения аудио/видео и функциональности медиацентра , XBMC4Xbox также имеет возможность каталогизировать и запускать оригинальные игры Xbox, а также самодельные приложения, такие как эмуляторы консоли , со встроенного жесткого диска Xbox .
Поскольку XBMC4Xbox — это домашнее программное обеспечение, которое не одобрено и не поддерживается Microsoft каким-либо образом, это означает, что XBMC4Xbox требует установленного modchip или softmod эксплойта для запуска на игровой консоли Xbox. Бинарные сборки XBMC также не могут легально распространяться участниками проекта XBMC4Xbox, поэтому все выпуски бинарных сборок производятся независимыми третьими лицами, которые компилируют и распространяют неофициальные версии приложения. [13] [14] [15] [16]
10-футовый пользовательский интерфейс XBMC4XBox разработан для телевизора в гостиной , а крупные значки и текст в графическом пользовательском интерфейсе позволяют пользователю легко управлять наиболее распространенными форматами цифровой музыки, видео, изображений, подкастов и плейлистов с компьютера, оптического диска, локальной сети и Интернета с помощью игрового контроллера Xbox или пульта дистанционного управления Xbox DVD-Kit . Он также имеет настраиваемый пользователем интерфейс и поддержку плагинов . [17] [18] XBMC4Xbox также делает то же самое, что и XBMC : визуализации звука, слайд-шоу, прогнозы погоды и API на основе Python для сторонних плагинов. Такие дополнения, как скины и плагины для XBMC, несовместимы с XBMC4Xbox из-за различий в их API, что означает, что все дополнения XBMC должны быть портированы для работы с XBMC4Xbox. [12] [16] [18] [19] [20] [21] [22]
Программное обеспечение не является авторизованным/подписанным продуктом Microsoft , поэтому для запуска XBMC4Xbox на игровой консоли Xbox требуется модификация Xbox . На модифицированном Xbox XBMC4Xbox может быть запущен как приложение (как любая игра Xbox) или как панель управления , которая появляется непосредственно при включении Xbox . [13] [14] [15] [16] Поскольку XBMC4Xbox является программой с открытым исходным кодом , ее исходный код разработки хранится в общедоступном репозитории Subversion . Соответственно, неофициальные исполняемые сборки из репозитория Subversion часто выпускаются третьими лицами на сайтах, не связанных с проектом XBMC4Xbox. [14] [15]
Исходный код XBMC4Xbox распространяется как открытый исходный код по лицензии GPL (GNU General Public License) [16] и разрабатывается сообществом группой добровольцев из разных уголков мира, работающих над XBMC4Xbox бесплатно в свободное время . Исходный код XBMC4Xbox в основном ежедневно обновляется разработчиками в публичном репозитории subversion. [23]
Ниже приведено описание уникальных особенностей и функций форка XBMC4Xbox для Xbox, которые отсутствуют или отличаются от оригинального программного обеспечения XBMC, из которого он был создан:
XBMC4Xbox имеет раздел "Мои программы", который функционирует как заменяющая панель инструментов для запуска игр Xbox (розничных и самодельных ) и приложений / эмуляторов непосредственно со встроенного жесткого диска Xbox , все из графического интерфейса с опциями миниатюр и списков. Это заменяет оригинальную панель инструментов Xbox от Microsoft , и за исключением прошивки нового BIOS на модчип Xbox, она также имеет много дополнительных функций, которые есть у других самодельных панелей инструментов . [15]
XBMC4Xbox также имеет возможность использовать и применять файлы трейнеров Xbox . Трейнеры — это небольшие файлы, которые позволяют изменять игровые значения (например, чит-код ) путем изменения розничных функций в игровых значениях с помощью ключей terminate-and-stay-resident . Существует множество вещей, которые можно изменить, включая боеприпасы, дополнительные жизни или даже то, насколько высоко персонаж может прыгать. Поддержка трейнеров в XBMC4Xbox была достигнута благодаря сотрудничеству с Team Xored. Это сотрудничество началось в декабре 2005 года и было реализовано в январе 2006 года путем успешной интеграции движка трейнеров Team Xored в XBMC4Xbox. XBMC4Xbox может запускать трейнеры со следующими расширениями файлов: *.ETM и *.XBTF [15]
Ранее в XBMC4Xbox был интегрирован интерфейс XLink Kai для управления этим клиентом, но в более поздних сборках он был удален. [15]
XBMC4Xbox можно использовать для воспроизведения/просмотра всех распространенных форматов мультимедиа . Однако он не может воспроизводить большинство собственных видеофайлов 720p и 1080p из-за аппаратных ограничений Xbox. XBMC4Xbox может масштабировать разрешение многих видео стандартной четкости.
XBMC4Xbox использует два различных ядра мультимедийного видеоплеера для воспроизведения видео. Первое ядро, названное "DVDPlayer", является ядром воспроизведения видео собственной разработки XBMC с поддержкой фильмов DVD-Video и основано на libmpeg2 и libmad для декодирования MPEG , а также FFmpeg для демультиплексирования медиаконтейнеров, разделения, а также декодирования других аудиоформатов. Соответствующее декодирование звука выполняется liba52 для декодирования звука ac3 и libdts / libdca для звука DTS . Также включена поддержка меню DVD через libdvdnav и dvdread. [19] Одной из относительно необычных функций этого ядра DVD-плеера является возможность «на лету» приостанавливать и воспроизводить фильмы DVD-Video, хранящиеся в образах DVD ISO и IMG или образах DVD-Video ( IFO / VOB / BUP ) (даже непосредственно из несжатых архивов RAR и ZIP ), как с локального жесткого диска, так и с сетевого хранилища.
Второе «ядро» видеоплеера для воспроизведения видео — это портированная версия кроссплатформенного проигрывателя с открытым исходным кодом MPlayer , который сегодня используется только как резервный проигрыватель в XBMC4Xbox. MPlayer, который известен воспроизведением практически всех распространенных медиаформатов, и XBMC4Xbox обрабатывает все кодеки и контейнеры, обычно поддерживаемые MPlayer (а именно все поддерживаемые FFmpeg кодеки, а также несколько внешних с помощью фирменных DLL -файлов. [14] [19]
Третье «ядро», PAPlayer (сокращенно от Psycho-acoustic Audio Player), поддерживает только воспроизведение аудио. PAPlayer также был разработан командой XBMC до разделения проектов в 2005 году. PAPlayer поддерживает больше кодеков, чем MPlayer, и поэтому является «ядром» воспроизведения аудио по умолчанию. Некоторые форматы файлов, которые не работают с MPlayer, воспроизводятся с PAPlayer, и в них меньше ошибок (например, ошибка визуализации в MPlayer, когда визуализация «ломается» после воспроизведения файла). После того, как предыдущий сайт XBMC4Xbox закрылся, вики была утеряна, поэтому нет никаких записей о поддерживаемых типах файлов для PAPlayer в XBMC4Xbox. Однако на XBMC.org есть страница о поддерживаемых форматах PAPlayer.
XBMC4Xbox — это программное приложение, написанное на языке C++ , XBMC4Xbox использует мультимедийную среду Microsoft DirectX и рендеринг Direct3D (поскольку Xbox не поддерживает OpenGL ). [19]
Для компиляции XBMC4Xbox требуется комплект разработчика программного обеспечения Xbox SDK (Xbox Development Kit, он же XDK) (с библиотеками ) . [15] Для компиляции (и программирования ) XBMC4Xbox также требуется более старая версия Microsoft Visual Studio .NET 7.1 [14]
По словам Microsoft, распространено заблуждение, что Xbox использует модифицированное ядро Windows 2000 , вместо этого они утверждают, что операционная система Xbox была создана с нуля, но реализует подмножество API Windows . [24] Идея о том, что она действительно запускает модифицированную копию ядра Windows, все еще сохраняется в сообществе, однако наверняка известно, что ядро Xbox работает как BIOS и основано на Win32 , но не обладает всеми ресурсами или возможностями полноценной операционной системы на базе Windows NT (например: ни DirectShow , ни реестр , ни DLL изначально не поддерживаются на Xbox), и из-за ограничений на оборудование и среду Xbox вся разработка программного обеспечения XBMC4Xbox для Xbox сосредоточена на резервировании ограниченных ресурсов, которые существуют, главным препятствием для которых является объем доступной оперативной памяти в любой момент времени. [14]
Как преемник Xbox Media Player (XBMP) , XboxMediaCenter (XBMC) был портирован на другие платформы и архитектуры, став XBMC или XBMC Media Center, таким образом потеряв связь с Xbox. 27 мая 2010 года, чтобы отличить теперь уже основную многоплатформенную XBMC от оригинального Xbox, команда XBMC объявила о разделении ветви Xbox на новый проект; "XBMC4Xbox", который продолжит разработку и поддержку XBMC для старой аппаратной платформы Xbox в качестве отдельного проекта, при этом оригинальный проект XBMC больше не предлагает никакой поддержки для Xbox. [1] [5] [6] [8]
Помимо названия, следующим заметным моментом является измененная нумерация версий. Последним официальным релизом XBMC для Xbox был 9.11 Camelot, релиз, который в то время был более тесно связан с многоплатформенным XBMC, который находился в разработке в течение некоторого времени. С тех пор проект XBMC4Xbox вернулся к нумерации версий, которая не включает ссылку на дату выпуска. Вместо этого теперь используется более простая система версий major.minor, которая использовалась до того, как Xbox Media Center стал просто XBMC. Новые релизы теперь становятся доступными по мере их готовности, а не по установленным датам выпуска.
В предыдущие годы, до того как XBMC4Xbox отделился от XBMC, интерес разработчиков к версии XBMC для Xbox был ниже, поскольку новая многоплатформенная версия XBMC стала основной заботой команды XBMC. Только один разработчик (Arnova) все еще следил за версией для Xbox. Отсутствие интереса со стороны разработчиков XBMC привело к тому, что для кодовой базы Xbox потребовался новый дом, и в 2010 году она была перемещена на SourceForge .
Новый сайт сообщества уже был создан на xbmc4xbox.org и был выбран для замены форумов на xbmc.org, где обсуждение XboxX больше не было актуальным, поскольку xbmc.org занимается только платформами, которые они активно разрабатывают. [26]
Программное обеспечение XBMCXbox, как и XBMC, лицензировано разработчиками по GNU General Public License (GPL) , что означает, что они позволяют любому распространять исходный код XBMCXbox на очень либеральных условиях. Однако для компиляции сборки Xbox XBMCXbox в исполняемую форму в настоящее время необходимо использовать фирменный XDK (Xbox Development Kit) от Microsoft , который доступен только лицензированным разработчикам, и полученный код может легально распространяться только корпорацией Microsoft. Соответственно, код, скомпилированный с помощью неавторизованной копии Xbox Development Kit, не может легально распространяться кем-либо, кроме Microsoft.
Таким образом, хотя исходный код XBMC4Xbox был публично доступен разработчиками по лицензии с открытым исходным кодом ( GNU GPL ) , сами разработчики юридически не могут распространять исполняемые версии XBMC4Xbox. Это связано с тем, что для компиляции XBMC4Xbox требуется фирменный комплект разработки программного обеспечения Microsoft. Таким образом, единственные публично доступные исполняемые версии XBMC4Xbox поступают от третьих лиц , в результате чего распространение предварительно скомпилированных версий XBMC4Xbox может быть незаконным во многих странах мира. [15]
Также для аудио- и видеокодеков, которые изначально не поддерживаются через FFmpeg , XBMC4Xbox через MPlayer предоставляет загрузчик DLL , который может загружать сторонние библиотеки DLL аудио- и видеокодеков для декодирования неподдерживаемых форматов. Это потенциально законно, если пользователь владеет лицензионной копией DLL. Однако некоторые сторонние сборки XBMC4Xbox включают все доступные сторонние библиотеки DLL, которые может поддерживать XBMC4Xbox, и их распространение без лицензии является нарушением авторских прав. [27]