Конвертация gif в flv на стороне сервера
Задача следующая. Есть анимированный gif, - файл размером до 5 Mb, средний размер порялка 1-1,5 Mb, надо воспроизводить его во Flash вместе с анимацией. Исходный файл каждый раз может быть разный и передается флешке через параметры.
В ходе решения данной задаче УЖЕ были испробованы следующие методы:
1) Проигрывать напрямую из flash gif-картинку. Стандатрных компонетов поддержки анимированных gif во флеше, к сожалению нет, поэтому пробовали использовать открытую библиотеку от bytearray( http://www.bytearray.org/?p=93).
На маленьких gif картинках работает нормально, но если размер от 300-500 кб и выше начинает сильно тормозить, браузер на несколько секунд умирает пока данная библиотека парсит gif файл. Тормоза оказались настолько сильными, особенно на гифах большого размера, что данный подход был признан НЕПРИГОДНЫМ.
2) Второй подход заключается в следующем: конвертить gif в flv на стороне сервера и уже во флешку грузить flv-видео файл, с которым флешь отлично дружит. Для конвертации использовали ffmpeg. Возникли следующие проблемы:
а) На прямую, вот так: ffmpeg -f gif -i test.gif result.flv - в результирующем flv почему-то только первый кадр гифки, то есть все кадры не переносятся!
б) Если сначала разбить гифку на кадры, а потом склеить в flv:
convert +adjoin -coalesce test.gif frame%02d.gif && ffmpeg -i frame%02d.gif result.flv -f flv && rm -f frame*.gif
То в результате НЕ происходит сохранения timeline'а исходной гиф-картинки, то есть, получается равномерная по скорости flv'шка, в которой не учтены паузы между кадрами исходной гиф-картинки. В то же время, паузы между кадрами в гиф могут меняться. При конвертации это, естественно, не сохраняется.
ТРЕБУЕТСЯ: Решить поставленную задачу ЛЮБЫМ способом(не обязательно одним из тех, которые были описаны), но при этом так, чтобы указанные выше недостатки ОТСУТСТВОВАЛИ.
ОПЛАТА в зависимости от трудоемкости предложенного решения, обсудим уже с конкретным исполнителем.