Мне нужно простое воспроизведение видео в Java.
Вот мои требования:
-
КАЧЕСТВО ПРОИЗВОДСТВА
-
Откройте и декодируйте видеофайлы, видео и аудио кодеки которых могут быть выбраны мной. I.E Я могу выбрать хорошо управляемые кодеки.
-
Уметь проигрывать, пауза, seekToFrame ИЛИ seekToTime и остановить. По сути, я хочу иметь возможность воспроизводить сегменты одного видеофайла нелинейным способом. Например, я могу играть в сегменте 20.3 сек до 25.6 сек, пауза в течение 10 секунд, а затем воспроизведение сегмента 340.3 сек до 350.5 сек и т.д.
-
Во время воспроизведения видео и аудио должны быть синхронизированы.
-
Видео должно отображаться в Swing JComponent.
-
Должен иметь возможность использовать в коммерческом продукте без необходимости использования открытого кода (например, LGE или LG)
Мои исследования привели меня к следующим решениям:
- Использование 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 работать, но до сих пор не удалось добиться успеха.
Я был бы признателен за ваши мнения по моей проблеме.