Имам нужда от просто възпроизвеждане на видео в Java.
Ето изискванията ми:
КАЧЕСТВО НА ПРОИЗВОДСТВОТО
Отваряне и декодиране на видео файлове, чиито видео и аудио кодеци могат да бъдат избрани от мен. Т.е. мога да избера добре работещи кодеци.
Възможност за пускане, пауза, seekToFrame ИЛИ seekToTime и спиране възпроизвеждане. По същество искам да мога да възпроизвеждам сегменти от един видео файл по нелинеен начин. Например може да искам да пусна сегмента от 20,3 сек до 25,6 сек, да направя пауза за 10 секунди и след това да пусна сегмента от 340,3 сек до 350,5 сек и т.н.
По време на възпроизвеждане видеото и аудиото трябва да са синхронизирани.
Видеото трябва да се показва в Swing JComponent.
Трябва да може да се използва в търговски продукт, без да е необходимо да е с отворен код (т.е. LGPL или Commercial е добър)
Проучването ми ме доведе до следните решения:
- Използвайте 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 да работи, но досега не успях.
Ще се радвам на вашите мнения по моя проблем.