<я > Обновление:
Поскольку медиа-сторона JFX была открыта, я изучил это сам, и это действительно возможно, но требует изменения и восстановления источника JFX (как Java, так и C-частей). Процесс описан здесь для тех, кто хочет поехать - я добавляю поддержку MKV в этом примере, но он должен быть очень похож на другие плагины.
Остальная часть вопроса, таким образом, в основном историческая, но я оставлю ее здесь для справки.
Фон
Я уже использовал VLCJ для воспроизведения видео в своем приложении. Он работает, но, если возможно, я хотел бы посмотреть, смогу ли я достичь такого же уровня поддержки обычных кодеков, перейдя на JavaFX и сэкономив много хлопот с несколькими виртуальными машинами и тому подобное, что VLCJ нужно надежно воспроизвести несколько видео. Я не буду вдаваться в него здесь, но посмотрю мой ответ на этот вопрос, если вы заинтересованы в деталях. Там также проблема кросс-платформенной совместимости, она работает на Mac и Linux в порядке, но я еще не разработал, как ее можно показать на Mac еще (я считаю, что там есть определенная система безопасности, чтобы один процесс не получал доступ к другому родному компонентов, но опять же, что выходит за рамки этого вопроса.)
Это сводится к тому, что в то время как он работает, он требует много обслуживания и хлопот, работая с несколькими виртуальными машинами, и стабильно соединяет их, если будет еще одно решение, которое будет проще. У VLC есть довольно легендарный уровень поддержки для игры практически во все, что я и делал с ним до сих пор, и мне было бы интересно узнать, могу ли я получить аналогичный результат в JavaFX - или, по крайней мере, если это возможно предоставить средства для этого в кросс-платформенной форме.
Исследование
JavaFX 2.0 поддерживает видео - отлично! Но в настоящий момент официальной линией является поддержка "FLV, содержащего видео VP6 и аудио MP3". Есть ли способ расширить это, чтобы добавить поддержку большего количества кодеков? Там нет жесткого кодека, который я бы хотел поддержать, это больше, чем я могу, поэтому я ищу расширяемый метод, чтобы обойти выше.
Я задавался вопросом, будет ли он воспроизводить видео для кодеков, установленных изначально на машине, и что он просто не рекламирует себя как таковой (потому что эта функциональность, очевидно, зависит от машины, а не от кросс-платформенной.) Но никаких кубиков, я попробовал ряд распространенных форматов, и он действительно отказывается играть ничего, кроме того, что он заявляет.
От взгляда на JavaFX 1.3 он также поддерживает другие зависящие от платформы кодеки в зависимости от того, где он установлен. Есть ли способ получить это поведение с помощью JavaFX 2? Или это вообще запланировано для последующего выпуска? Я не смог найти информацию об этом в дорожной карте или о каких-либо комментариях Oracle о ней.
Единственное, что можно найти при поиске, - это здесь, что подразумевает, что это возможно, но никто, кажется, не знает, как это сделать. Мне также было бы интересно узнать, основано ли это на GStreamer, почему все форматы, поддерживаемые GStreamer, по умолчанию не включены?
С точки зрения воспроизведения DVD-дисков с JavaFX у меня абсолютно нет нигде, поэтому я предполагаю, что сейчас просто нет. Если у кого-то есть какие-то идеи или информация, я все уши.
Другие подходы
Один из подходов, который я был недоумением, может быть возможен, - это ломать банку JMC из старого JavaFX, как описано здесь и пытаться получить что работает вместе с JavaFX 2. Я не думаю, что кому-то повезло с этим подходом или что-то подобное?
Все вещи не работают, если у кого-то есть какая-либо информация или ссылки на то, когда поддержка дополнительных кодеков будет поддерживаться из коробки, мне также будет интересно услышать это. Или, если у кого-то есть какие-либо контактные данные для кого-то в Oracle, я мог бы спросить, что было бы также оценено! Я уже давно мечтаю о достойной поддержке видео в Java, и я думаю, что это сводится к тому, чтобы попытаться выяснить, является ли JavaFX ответом на это, или просто еще одна наполовину попытка, которая никогда не будет играть больше, чем то, что она на данный момент! Я надеюсь, что это не последнее, но мне еще предстоит увидеть многое, чтобы показать это.