2

我想用 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,5MB 提高到近 30MB ......

我现在能做什么?

4

1 回答 1

0

使用选项“-qscale n”,其中“n”介于 1(最佳质量)和 31(最差质量)之间。根据您的 ffmpeg 版本可能会有所不同。

于 2012-06-17T18:41:22.890 回答