Для нашего веб-приложения нам нужна некоторая (предпочтительно) обработка видео на стороне клиента.
Я думаю о следующем рабочем процессе:
- запросить у пользователя видеофайл
- декодировать его
- выполнить некоторую обработку навыбранные кадры
- объединяют эти кадры в новое видео
- кодируют его
- загружают его на сервер
- воспроизводят его для наших пользователей
Причины сделать это на стороне клиента:
- выходное видео намного меньше, поэтому нам нужно загружать меньше
- обработка видео слишком дорога для сервера, мы предпочитаемиспользуйте клиентский процессор
Можно установить что-то один раз, но тогда все должно работать как обычное веб-приложение.
Я потратил несколько дней на поиск в Google, но это слишком многопереварить.Поэтому я прошу о помощи.
Вот мои выводы / предположения / вопросы.
Есть ли простой способ сделать это с помощью Flash?
1.1.Может получить доступ к выбранному пользователем файлу из локальной файловой системы
1.2.Имеет несколько встроенных декодеров, но они довольно специфичны и НЕ охватывают распространенные форматы видео
1.3.НЕ МОЖЕТ использовать локально установленные кодеки
1.4.Реализовывать кодеки в ActionScript нецелесообразно, поэтому таких библиотек
1.5 нет.Может обрабатывать кадры
1.6.Имеет встроенный кодер (ы)
Есть ли простой способ сделать это с помощью Silverlight?
2.1.Может получить доступ к выбранному пользователем файлу из локальной файловой системы
2.2.Имеет несколько встроенных декодеров, но они довольно специфичны и НЕ охватывают распространенные форматы видео
2.3.НЕ МОЖЕТ использовать локально установленные кодеки из песочницы в браузере
2.4.Может принести внешний исполняемый файл (ffmpeg) в изолированную программную среду в браузере, но НЕ может запустить его
2.5.Можно использовать только библиотеки DLL, специально созданные для среды выполнения Silverlight, в изолированной программной среде браузера, поэтому прокси-сервер ffmpeg (COM?) И другие файлы НЕТ использования
2.6.Может быть установлен правой кнопкой мыши с веб-страницы и, возможно, сработают # 2.3, # 2.4 или # 2.5, но это НЕ заставит работать приложение на странице, пользователь должен будет запустить его отдельно вне браузера
2.7,Это нормально для реализации кодеков изначально (порт ffmpeg?), Но я не смог найти такой пакет
2.8.Может обрабатывать кадры
2.9.Имеет встроенный кодер (ы)
Есть ли простой способ сделать это с помощью Java?
3.1.Может получить доступ к выбранному пользователем файлу из локальной файловой системы
3.2.JMF имеет базовые встроенные кодеки
3.3.Jffmpeg может добавить больше кодеков
3.4.Может обрабатывать кадры
Есть ли что-то еще, что могло бы выполнить работу?
Похоже на вспышку # 1.2, # 1.3 и # 1.4это не вариант.
Похоже, Silverlight мог бы добиться цели, если бы существовал только встроенный пакет кодеков.
Java выглядит наиболее многообещающе.Прежде чем углубиться в это, я все еще хочу получить ответ о Flash (из-за установки базы) и Silverlight (.NET уже используется в проекте).
Пожалуйста, посоветуйте, если мои выводы / предположения / рассуждения верны.
Спасибо.