Я пытаюсь сжать видео, используя разные кодеки (WMV, MP4, H264, VP8, VP9), используя FFmpeg / libav.Я не уверен, как установить глобальные значения и значения качества для каждого кадра.Даже диапазон значений мне неясен.Документы не помогают.В настоящее время я использую:
AVCodecContex::global_quality = FF_QP2LAMBDA * quality; // no idea about range, default seems to be 0
AVCodecContex::compression_level = 0; // There is FF_COMPRESSION_DEFAULT (-1), which seems to be the default
AVFrame::quality = FF_LAMBDA_MAX * quality; // docs say range is [1, FF_LAMBDA_MAX], default seems to be 0
качество находится в диапазоне [0,1], где 0 означает лучшее качество изображения.Только 0, кажется, что-то делает для меня и приводит к видео хорошего качества.Все остальные значения дают некачественный вывод.
Любые разъяснения о том, как установить эти значения, приветствуются.