К вопросу о применимости perl для решения чисто мультимедийных задач. Была у меня задачка сделать приложение, которое бы выводило на экран различный контент. Например, в одну секцию экрана выводится видео, а по бокам - картинки. Достаточно неплохое решение для проведения презентаций.
Само приложение состоит из двух частей - непосредственно проигрывателя, который берет из базы информацию об областях вывода(позиция, размер и некоторые специфичные параметры) и playlists и дальше показывает все это хозяйство. Вторая часть - конфигуратор, где человек, не знакомый с SQL:) может все настроить. Изначально первое приложение я написал на java с использованием JFM. Консоль же управления представляла из себя web-приложение на perl(ничего особенного, стандартный add/delete/update/view для данных). Однако чем дальше в лес, тем толще партизаны. JMF использует для проигрывания набор внешних подключаемых модулей, таких как gstreamer и ffmpeg(сразу скажу, что я остановился на gstreamer). GStreamer оказался достаточно нестабильным и сырым(его backend для java), модуль же для ffmpeg - настолько медленным, что порой проигрывание видео фрагмента превращалось в демонстрацию слайдов:)
А потом я подумал - а что если сделать все на perl? Тем более, что набор библиотек для работы с базой уже есть, нужно лишь написать надстройку и сам проигрыватель. В дело пошел Gtk2 и...Mplayer:) Этот замечательный плеер умеет выдавать поток в указанное с помощью ключа -wid окно. Я за пол дня перенес приложение с java на perl, получив при этом существенный прирост в производительности(и моральное удовлетворение от проделанной работы).
Вывод тут один - всегда нужно знать инструменты, что ты используешь:)!
Во вложении есть скрин web-консоли и ролик работы самого проигрывателя, снятый на видео камеру телефона.
