Я пробую Java Media Framework и замечаю, что он не поддерживает многие форматы видео и, кажется, недостаточно обновлен. Есть ли альтернатива JMF для настольных приложений Windows Java?
Воспроизведение видео в настольном приложении Java
comment
возможный дубликат воспроизведения видео на Java
- person artbristol   schedule 15.05.2012
comment
@artbristol Не согласен, это касается фреймворков, а последний вопрос касается JMF. В любом случае, этот другой вопрос уже довольно старый и не содержит много ссылок на хорошие фреймворки, кроме Xuggler.
- person Michael Berry   schedule 16.05.2012
comment
@ berry120 Нет хороших фреймворков, поэтому. Этот вопрос задавали уже много раз.
- person artbristol   schedule 16.05.2012
comment
@artbristol Это, конечно, зависит от вашего определения хорошего фреймворка, но я бы сказал, что сейчас (в отличие от года или двух назад) они начинают появляться. Мое приложение успешно использует VLCJ для обеспечения кроссплатформенной поддержки видео с настраиваемыми текстовыми наложениями, и аналогичная вещь может быть достигнута с помощью JavaFX. Или для извлечения пакетов из потоков на более низком уровне Xuggler очень хорош. Все зависит от того, что вам нужно!
- person Michael Berry   schedule 16.05.2012
comment
@ berry120 Справедливый пункт. Приятно слышать, что ваш опыт работы с VLCJ положительный - возможно, конкуренция подстегнет JavaFX и получит достойную поддержку на официальной платформе.
- person artbristol   schedule 16.05.2012
comment
@artbristol Спасибо, я очень на это надеюсь! :-)
- person Michael Berry   schedule 16.05.2012
Ответы (2)
Да, я определенно рекомендую держаться подальше от JMF. Я чувствовал твое разочарование! Лично я рекомендую VLCJ, особенно если вам нужна поддержка для широкого диапазона форматов - я использую его в своем приложении, и он очень хорошо работает.
Также могут быть актуальны следующие вопросы:
Работа с видео (DVD, .avi .mkv) на Java
Добавление других видеокодеков / поддержки DVD в JavaFX 2.2 а>
person
Michael Berry
schedule
15.05.2012
Спасибо. Наконец, я использовал vlcj, потому что для JavaFX требуется проект JavaFX, а у меня уже был запущен проект Java. На самом деле у меня проблема. Мне нужно воспроизвести видеокомпонент внутри JPanel. Как бы я это сделал?
- person Jonás; 15.05.2012
@honnix Лучше всего использовать Canvas, а не JPanel - тогда VLC может просто воспроизводить его напрямую. Другой способ - использовать DirectMediaPlayer, который дает вам BufferedImage, который вы можете отображать во всем, что вы выберете. Последний подход более гибкий, но он может потреблять огромное количество ресурсов ЦП для HD-видео даже в мощных системах.
- person Michael Berry; 15.05.2012
Привет, я использую Canvas, но получаю исключение java.lang.IllegalStateException: компонент поверхности видео должен быть отображаемым. Я спросил в stackoverflow.com/questions/10609338/, потому что я действительно застрял. Все примеры, которые я видел, запускают один и тот же код. Не могу заметить, в чем я ошибаюсь. Заранее спасибо.
- person Jonás; 16.05.2012
@honnix См. мой ответ, но когда вы получаете эту ошибку, это почти всегда потому, что холст не отображается на экране до того, как вы попытаетесь воспроизвести видео.
- person Michael Berry; 16.05.2012
Короче тупиковый вид. Я бы перешел на JavaFX 2.1 - он имеет гораздо лучшую поддержку и, кажется, тоже "живой". Здесь также есть дополнительная информация о переполнении стека: Добавление других видеокодеков / поддержки DVD в JavaFX 2.2
person
Ewald
schedule
15.05.2012