Открыть список
Как стать автором
Обновить

UPD. Демон конвертации видео в FLV.

Разработка веб-сайтов
Это продолжение, а точнее развитие, статьи написанной ранее.

В результате небольшого рефакторинга, получилось повысить производительность, и упростить код. Результатом стало изменение перечня используемого софта.
1. Превьюшка теперь вырезается не mplaer-ом, а утилитой ffmpegthumbnailer, которая умеет вырезать кадр по смещению указанному в процентах от общей длины ролика. Нет необходимости как-то получать дилину ролика. Так же она сама ресайзит кадр, что позволило отказаться от использования ImageMagik

2. Вместо flvtool2 используется yamdi. Эта утилита написана на C, поэтому быстрее. Кроме того она меньше грузит память, и у неё чуть больше возможностей.

Ниже приведен участок кода, в котором произошли основные изменения.


.....
#запускаем в фоне команды
(echo "Converting $FILE..."
sleep 5s
#забрали файл в промежуточную папку
mv ${SRC_DIR}/${FILE} ${TRG_DIR}/${FILE}
#вырезали превью
THUMBNAIL="${USER_FOLDER}/${USER_ID}/video/${VIDEO_ID}.png"
ffmpegthumbnailer -i ${TRG_DIR}/${FILE} -o $THUMBNAIL -s ${THUMBNAIL_WIDTH}
#кодируем видео
mencoder ${TRG_DIR}/${FILE} -o "${TRG_DIR}/${FILE}.${OUTPUT_FORMAT}" ${PARAMS}
#записали метаинформацию для плеера
yamdi -i "${TRG_DIR}/${FILE}.${OUTPUT_FORMAT}" -o "${USER_FOLDER}/${USER_ID}/video/${VIDEO_ID}.${OUTPUT_FORMAT}" -c 'Your comment' -l
#удаляем временные файлы
rm ${TRG_DIR}/${FILE}
rm "${TRG_DIR}/${FILE}.${OUTPUT_FORMAT}"
) &
...
Теги:видеоbashshдемоныконвертерmencoderflvtool2yamdiconvertimagemagickmplayerflvflash playerffmpegthumbnailer
Хабы: Разработка веб-сайтов
Всего голосов 30: ↑28 и ↓2 +26
Просмотры2.1K

Похожие публикации

Веб-дизайнер
до 150 000 ₽ITSOFTМоскваМожно удаленно
Веб-разработчик (Frontend)
от 80 000 ₽PlenexyМожно удаленно
Веб-разработчик Node.js (backend)
от 100 000 до 180 000 ₽VIAR-Ваш АрхивСанкт-ПетербургМожно удаленно
Веб-разработчик на Битрикс/Bitrix
от 100 000 до 150 000 ₽АНО "Московский спорт"МоскваМожно удаленно
Разработчик 1С-Bitrix, Bitrix 24
от 80 000 до 150 000 ₽AYROSAМожно удаленно

Лучшие публикации за сутки