Обновление:
Поскольку медиа-сторона 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 ответом на это, или просто еще одной нерешительной попыткой, которая никогда не сыграет больше, чем онав данный моментЯ надеюсь, что это не последнее, но мне еще многое предстоит увидеть, чтобы показать, что это так.