Для конвертирования видео есть скрипт.
Код: Выделить всё
#!/bin/bash
# x264-enc-3p.sh
source="$1"
bitrate="$2"
filters="$3"
name="$(date +%F-%T)".avi
log="$name".log
# 21
e="mencoder "$source" -vf pullup,softskip,"$filters"harddup -ovc x264 -x264encopts threads=auto:psnr:ssim:b_adapt=2:deblock:\
cabac:chroma_me:subq=9:partitions=all:8x8dct:me=umh:nofast_pskip:nodct_decimate:me_range=32:trellis=2:frameref=16:\
bframes=16:b_pyramid:weight_b:mixed_refs:direct_pred=auto:keyint=750:keyint_min=25:direct_8x8=-1:aq_mode=1:aq_strength=1.0:\
psy_rd=1.0,0.0:bitrate=$bitrate"
(time (time $e:pass=1 -o /dev/null && time $e:pass=3 -o /dev/null && time $e:pass=3 -o "$name" && echo "Encoding time:") \
&> "$log"; rm -v divx2pass.log*) &
tail -f "$log"Скрипт вылетает с ошибкой
Код: Выделить всё
syntax error near unexpected token `time'Причина ошибки в том, что mencoder не признает параметра -x264encopts.
Нагугленное решение - пересобрать mencoder (естественно с mplayer)
Усть src-пакет (в расковыряном виде: сырцы и спек-файл).
В spec-файле поставлена сборка PLF.
Но при сборке на этапе проверки выскакивает сообщение
Код: Выделить всё
Checking for x264 ... no (in libavcodec: no)Закралось подозрение, что ffmpeg из plf собран таки без этого энкодера.
При попытке пересобрать ffmpeg с поддержкой libavcodec x264, вылетает ошибка
Код: Выделить всё
libavcodec/libx264.c: В функции ‘encode_nals’:
libavcodec/libx264.c:60: предупреждение: неявная декларация функции ‘x264_nal_encode’
libavcodec/libx264.c: В функции ‘X264_init’:
libavcodec/libx264.c:169: ошибка: ‘x264_param_t’ не содержит элемента с именем ‘b_bframe_pyramid’
make: *** [libavcodec/libx264.o] Ошибка 1Подскажите, пожалуйста, как мне победить сию проблему?