LINUX.ORG.RU

ffmpeg vs -qscale


0

0

Тема на самом деле не об утилите ffmpeg, а о библиотеке libavcodec:

В стандарте mpeg4 практически не разбираюсь - поэтому в основном опираюсь на исходники ffmpeg.c. Вроде знаю это программу довольно неплохо - но вот досада, пытаюсь реализовать функциональность ffmpeg -qscale N в своей программе, и не выходит

Как делаю: в параметр контекста кодировщика и в кодируемый поток устанавливаю:
AVCodecContext * enc = ...
AVStream *st = ...

enc->global_quality = st->quality = FF_QP2LAMBDA * qscale;
enc->flags |= CODEC_FLAG_QSCALE;

ну собственно, все. далее выполняю стандартные операции типа донастройке и открытию кодировщика и проч. После кодирования получаю поток, качество которого не зависит от qscale, визуально и по битрейту - получаю качество исходного потока. (-sameq).
Что я делаю не так (или не делаю), от чего может qscale не восприниматься кодеком?

Encoder: mpeg4



Последнее исправление: sotlef (всего исправлений: 1)

enc->qmin, enc->qmax задавай. Диапазон, IIRC, 0..31.

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