Есть ли более высокий уровень API для Xuggler? - PullRequest
2 голосов
/ 14 июля 2011

После загрузки и использования Xuggler мои первые впечатления очень хорошие; он поддерживает целый ряд кодеков, его было относительно легко начать, а обучающие видеоролики с разъяснениями всех необходимых понятий очень четко.

Однако, поиграв с ним пару дней, я действительно рву волосы, чтобы синхронизировать все аудио и видео. Это нормально, когда вы играете нормально, но при добавлении паузы, поиске и учете случайных 6-секундных пауз, пока мой внешний жесткий диск раскручивается, это превращается в настоящий кошмар.

Я уже частично что-то реализовал, но это далеко не идеально - вы можете искать несколько раз, но через некоторое время оно все еще исчезает.

Я не могу не думать, что это распространенный случай использования Xuggler, и кто-то, должно быть, уже сделал это гораздо лучше, чем я. Но, увы, я не могу найти никаких примеров, кроме тех, что на сайте. Существует ли более высокоуровневый API, который управляет всеми проблемами синхронизации аудио / видео и просто обеспечивает некоторые элементы управления более высокого уровня (воспроизведение, пауза, остановка и т. Д.)? У меня нет проблем с тем, чтобы сделать это самому, если там уже ничего нет, но я никогда не был фанатом переизобретения колеса (особенно, если мое новое колесо, по всей вероятности, хуже старого!)

1 Ответ

2 голосов
/ 02 августа 2011

Это действительно ответ, состоящий из двух частей. Во-первых, да, здесь есть структура «игрока» более высокого уровня здесь . Это на ранних стадиях, но гораздо лучше, чем все, что я мог бы быстро собрать вместе, и я уверен, что парень, управляющий им, будет открыт для любых улучшений в коде.

Во-вторых, я на самом деле совсем не следовал вышеизложенному, потому что вместо этого обратился к VLCJ, в котором используется libVLC, в который в свою очередь встроены все средства синхронизации. Чтобы надежно встроить в приложение несколько проигрывателей, вам необходимо использовать проигрыватели вне процесса (см. здесь , чтобы узнать, как я это делал), но как только эта инфраструктура будет создана, она будет работать надежно, быстро и в целом очень хорошо. .

...