Pull to refresh

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

Reading time1 min
Views2.2K
Это продолжение, а точнее развитие, статьи написанной ранее.

В результате небольшого рефакторинга, получилось повысить производительность, и упростить код. Результатом стало изменение перечня используемого софта.
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}"
) &
...
Tags:
Hubs:
+26
Comments53

Articles