LINUX.ORG.RU

webcam -> ffmpeg -> h264. Почему не более 4 fps? CPU load = 10%!!!


0

0

Команда:

ffmpeg -f video4linux -s 640x480 -b 700k -r 29.97 -i /dev/video1 -i /tmp/fifo.wav -vcodec libx264 -vpre hq video.mp4

От изменения -vpre, -r, -b на другие значения, картина не меняется. Картина с частотой кадров.

29.97 FPS оказываются в выходном файле, но смена картинки происходит не чаще 4-5 fps.

Это число (4-5 fps) пишет ffmpeg во время кодирования:

...
frame=   26 fps=  4 q=-1.0 Lsize=     235kB time=8.27 bitrate= 232.2kbits/s
...

/usr/share/ffmpeg/libx264-hq.ffpreset:

coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=umh
subq=8
me_range=16
g=25
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=10
qmax=29
qdiff=4
bf=3
threads=2
refs=8
directpred=3
trellis=1
flags2=+wpred+mixed_refs+dct8x8+fastpskip

Камера - logitech IM connect. Тормозная, но не настолько. Около 10-15 fps при том освещении, которое было на момент тестов, она выдавать могла (mplayer показал).

Нельзя сказать, что проца не хватает. Он нагружен процентов на 10% во время этого действа.

Спасибо.

анонимус подсказывает - нужно добавить флажок -r ДО флажка -i, например так для 21fps-a: ffmpeg -s 320x240 -r 21 -f video4linux2 -i /dev/video0 output.avi

e-max
()
Ответ на: комментарий от e-max

>нужно добавить флажок -r ДО флажка -i

«-r 29.97 -i /dev/video1 -i ...»

Ы?

...

А так - я тут затеял пережимать не имеющие особой ценности 1080p с фотика в 720p. Никто хорошим профилем ffmpeg не поделится? :) А то полный ноль в этих параметрах h264...

KRoN73 ★★★★★
()
Ответ на: комментарий от e-max

Прикольно. Уборка fifo.wav поднимает fps over 9000...

mriadus
() автор топика
Ответ на: комментарий от anon_666

>>-b 700k

?


Для 640x480 в невысоком качестве - вполне нормально.

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.