Добавить новость
123ru.net
Работа
Февраль
2016

Проигрыватель несжатых MOV QuickTime файлов с альфа-каналом

0
Необходимо разработать проигрыватель несжатых MOV QuickTime файлов с альфа-каналом на языке AS3 под платформу Adobe AIR. Проигрыватель по сути должен представлять из себя парсер - класс MOVVideo, наследник DisplayObject, который имеет методы play (начало проигрывания), pause (остановка проигрывания на текущем кадре), seek (перемотка на определенную секунду видео), seekFrame (перемотка на определенный кадр видео) и close (прекращение проигрывания и уничтожение всех задействованных в работе ресурсов, после чего экземпляр класса можно использовать по-новой), а также отправляет события об инициализации, метаданных (FPS, наличие альфа-канала, продолжительность видео в секундах и кадрах), прогресс (при обновлении кадра с указанием данных о текущей позиции воспроизведения), успешной или неуспешной попытке перемотки, а также завершении видео. Аудио в данном проекте игнорируем. Необходимо реализовать поддержку исключительно поддержку несжатых MOV QuickTime видеофайлов (с альфа и без альфа каналов), все другие кодеки (H.264 и т.п.) не нужно поддерживать, лишь уведомлять об этом соответствующим событием. Вся работа проигрывателя/парсера должна проходить в асинхронном режиме (или, желательно, с использованием многопоточности, Worker'ов). Проигрывание должно осуществляться без потери качества (т.е. перекодирование с более низким качеством недопустимо). Поддержка должна быть на платформах Windows, Mac OS X, Android и iOS под платформу Adobe AIR. Крайне важна высокая производительность работы. Вызов метода play инициирует загрузку информации о видео файле. Методу play передается аргументом объект типа File с указанием на файл для воспроизведения. При успешном получении данных о файле возвращается соответствующее событие с мета данными и начинается проигрывание видео с последующей отправкой описанных выше событий. Событие мета данных должно содержать: - размер видео в пикселях (videoWidth, videoHeight) - данные о цветовом формате и типе сжатия (параметры colorDepth, colorMode, compressionType которые могут принимать значения в отдельно определенном классе констант) - fps:Number (количество кадров в секунду у видео) - duration:Number (длительность воспроизведения файла в секундах) - framesCount:int (длительность воспроизведения файла в кадрах) В случае неудачного открытия файла или если он содержит неподдерживаемый тип сжатия необходимо отправлять соответствующее событие с кодом и описанием ошибки. MOVVideo должен реализовывать все стандартные свойства DisplayObject'а: x, y, width, height, rotation и т.п. В процессе воспроизведения MOVVideo должен отправлять покадровые события ProgressEvent о ходе воспроизведения. Воспроизведение файла должно происходить с реальной закодированной в видеофайл частотой воспроизведения (т.е. 5 секунд видео должны проигрываться за реальные 5 секунд, без привязки к framerate'у основного SWF файла и т.п., все по аналогии с классом Video). Видео файлы могут быть размером до 4-6 ГБайт. Предлагается вариант реализации с последовательного парсинга видеофайла в асинхронном режиме чтения и с использованием отдельного потока, который будет возвращать основному потоку объекты ByteArray для изменения объекта BitmapData с заданной в видеофайле частотой. Но приветствуются и другие реализации, решающие описанную задачу. При seek(0) необходимо начинать воспроизведение видео с начала без повторной инициализации и/или открытия файловых потоков. Вызов метода close инициирует уничтожение всех задействованных ресурсов объекта класса MOVVideo и делает его доступным для повторного использования метода play. Этот процесс может происходить в синхронном режиме. При повторном вызове метода play (даже если не завершилась одна из предыдущих операций) предыдущие процессы принудительно завершаются не дожидаясь выполнения и начинается новый процесс. Бюджет 25 тысяч рублей за это ТЗ, но возможно удорожание в процессе реализации.





Загрузка...


Губернаторы России

Спорт в России и мире

Загрузка...

Все новости спорта сегодня


Новости тенниса

Загрузка...


123ru.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.


Загрузка...

Загрузка...

Экология в России и мире




Путин в России и мире

Лукашенко в Беларуси и мире



123ru.netмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

123ru.net — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.






Здоровье в России и мире


Частные объявления в Вашем городе, в Вашем регионе и в России






Загрузка...

Загрузка...





Друзья 123ru.net


Информационные партнёры 123ru.net



Спонсоры 123ru.net