Мне нужно простое воспроизведение видео на Java.
Вот мои требования:
КАЧЕСТВО ПРОДУКЦИИ
Открытие и декодирование видеофайлов, видео и аудио кодеки которых я могу выбрать. I.E Я могу выбрать кодеки с хорошим поведением.
Возможность воспроизведения , паузы , seekToFrame ИЛИ seekToTime и остановки воспроизведения. По сути, я хочу иметь возможность воспроизводить сегменты одного видеофайла нелинейным способом. Например, я могу захотеть воспроизвести отрезок от 20,3 с до 25,6 с, сделать паузу на 10 секунд, а затем воспроизвести отрезок с 340,3 до 350,5 с и т. Д.
Во время воспроизведения видео и аудио должны быть синхронизированы.
Видео должно отображаться в компоненте Swing J.
Должен быть в состоянии использовать в коммерческом продукте без необходимости использования открытого кода (например, LGPL или Comercial - это хорошо)
Мои исследования привели меня к следующим решениям:
Я реализовал быстрый прототип, и это похоже на то, что мне нужно. Я могу воспроизвести сегмент видео, используя:
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 работать, но пока не добился успеха.
Буду признателен за ваше мнение по моей проблеме.