Пробовали использовать оригинальный ffmpeg вместо avconv?
Вообще, я где-то читал, что главный разработчик ffmpeg теперь ведёт себя намного дружественнее и адекватнее после попытки отжать у него проект, что вроде как ffmpeg выглядит получше, чем libav в плане новых фич и исправления багов.
Если кому-то будет интересно, но в целом там более-менее все банально. Bootstrap, jquery, MediaElement.js, видеодорожка, аудиодорожка, на них фрагменты, каждый из фрагментов настраивается. В фрагменте указывается какой файл, с какого по какое время, с какими эффектами.
Очень интересно. Сам очень давно хочу такое сделать но не могу придумать как. В вебе же если только какой flv/mp4 проигрывается? Ну, или h.264 или webm. А у нас PAL DV. Конвертировать в реальном времени?
Ну в конечном итоге в flv/mp4/webm все и конвертируется, на входе принимается все что угодно. В данном случае делалось что то вроде примитивного ютуба с более-менее продвинутым видеоредактором. Хотя при желании всегда можно конвертировать в еще какой нибудь формат и оставлять ссылку на скачивание например.
Конвертируется в реальном времени, сам процесс запускается по крону допустим раз в минуту, скрипт просто заносит в базу что он делает, а дальше аяксом обновляется статус операции для клиента (расписать сами операции можно довольно подробно).
А я делал более простой вариант (на rails), для веб интерфейса после загрузки видео-файлов (paperclip) разделял его на фреймы (воркер resque) и уже с ними работал в интерфейсе, а дальше как фантазия позволит — можно список команд генерить и потом применять их к видео-файлам, можно еще как-то.
Я думал над таким подходом, но тогда нельзя будет видео проигрывать. Ну будет у нас набор из 25000 кадров, юзер-то захочет посмотреть, что получилось в итоге. Обратно кадры быстренько собирать в видео, и проигрывать?
В принципе, конвертация h.264 (flv, mp4) идёт довольно шустро — в несколько раз быстрее времени клипа, видимо задействуется ускорение видеокарточки. Запускали на хостинге, отдельной видеокарты нет, но у процессора есть видеоядро — возможно оно задействуется, надо будет поинтересоваться деталями. Впрочем, обычные ядра тоже неплохо пригружаются при этом, но их загрузку можно регулировать количеством потоков конвертации.
У кодека vp8 (webm), похоже ускорение пока в очень зачаточном состоянии. На той же конфигурации — скорость конвертации едва-ли не ниже самого видеопотока при 100% загрузке процессора.
Создание видео редактора — полезные рецепты avconv (ffmpeg)