Качество ffmpeg с водяным знаком - PullRequest
2 голосов
/ 27 января 2012

Я хочу добавить водяной знак в видео с помощью ffmpeg. В настоящее время почти все вещи работают правильно, за исключением того, что качество нового видео значительно ниже, чем у оригинального видео.

Я также использую ffmpeg-php и пытался установить minrate на битрейт оригинала, но затем я получаю сообщение об ошибке. Код выглядит так на данный момент.

$video     = new ffmpeg_movie('hot_wheels_for_adults.flv');
$watermark = 'path/to/watermark.png';
$width     = $video->getFrameWidth();
$height    = $video->getFrameHeight();
$exec = 'ffmpeg -i hot_wheels_for_adults.flv ' .
        '-y -vf "movie=' . $watermark . ' ' .
        '[watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" ' .
        '-f flv -s ' . $width . 'x' . $height . ' ' .
        '-minrate ' . $video->getBitRate() . ' ' .
        'bla2.flv';

Вот и все. Без линии «-minrate» качество не хорошее. Оригинал = 630615, Скорость нового видео = 328000.

С флагом '-sameq' я получил хорошее качество, но он увеличен с 6,5 МБ до почти 30 МБ ...

Что я могу сделать сейчас?

1 Ответ

0 голосов
/ 17 июня 2012

Используйте параметр «-qscale n», где «n» находится между 1 (наилучшее качество) и 31 (худшее качество).Может отличаться в зависимости от вашей версии ffmpeg.

...