Мне нужно простое воспроизведение видео на Java.
Вот мои требования:
КАЧЕСТВО ПРОИЗВОДСТВА
Открывать и декодировать видеофайлы, видео- и аудиокодеки которых я могу выбрать. I.E Я могу выбрать хорошо работающие кодеки.
Возможность воспроизведения, паузы, seekToFrame ИЛИ seekToTime и остановки воспроизведения. По сути, я хочу иметь возможность воспроизводить сегменты одного видеофайла нелинейным образом. Например, я могу захотеть воспроизвести сегмент от 20,3 до 25,6 с, сделать паузу на 10 секунд, а затем воспроизвести сегмент от 340,3 до 350,5 с и т. Д.
Во время воспроизведения видео и аудио должны быть синхронизированы.
Видео должно отображаться в Swing JComponent.
Должна быть возможность использования в коммерческом продукте без использования открытого исходного кода (например, LGPL или Comercial)
Мои исследования привели меня к следующим решениям:
- Используйте Java Media Framework + Fobs4JMF http://fobs.sourceforge.net/f4jmf_first.html
Я реализовал быстрый прототип, и, похоже, он делает то, что мне нужно. Я могу воспроизвести фрагмент видео, используя:
player.setStopTime(new Time(end));
player.setMediaTime(new Time(start));
player.start();
Хотя Fobs4JMF, похоже, работает, я чувствую, что качество кода плохое, и проект больше не активен. Кто-нибудь знает какие-либо продукты, в которых используется Fobs4JMF?
- Напишите приложение Flash, которое воспроизводит видео, и используйте JFlashPlayer, чтобы перенести его в мое приложение Java Swing.
В отличие от Java, Flash отлично воспроизводит видео. Я мог бы написать небольшое Flash-приложение с помощью следующих методов:
open(String videoFile),
play(),
pause(),
seek(int duration),
stop()
Затем перенесите его в Java с помощью JFlashPlayer, который может вызывать функции Flash из Java.
Что мне нравится в этом решении, так это то, что воспроизведение видео во Flash должно быть надежным. Кто-нибудь использовал JFlashPlayer для воспроизведения видео на Java?
- Напишите простой медиаплеер поверх Xuggler
Xuggler - это оболочка FFMpeg для Java, которая кажется довольно активным и качественным проектом. Однако реализация простого воспроизведения видео, описанного в требованиях, не является тривиальной задачей (в частности, поиск), но часть работы была проделана в MediaTools MediaViewer, который станет основой для построения.
- Используйте FMJ
Я пытался заставить FMJ работать, но пока безуспешно.
Буду признателен за ваше мнение о моей проблеме.