avconv - 减少视频尺寸和文件大小

时间:2018-05-26 09:40:26

标签: avconv ffmpeg-php

有没有办法减少视频的大小?

在php中我用这个:

$result = exec("avconv -i $file1 -vcodec libx264 -acodec aac -strict experimental $file2");

不幸的是,所有制作的视频都与原版相同或者更大。

1)首先,我想减少所有视频的尺寸:宽度:750px,高度:自动。有可能吗?

2)有一些方法可以降低质量吗?当然,我不想要模糊的视频,但在某些网站上,我看到质量好的15分钟视频片大小约为50 MB。我的1分钟视频大小相同。

1 个答案:

答案 0 :(得分:0)

您可以使用多个选项来缩小视频文件的大小(和分辨率)。请记住,输出视频文件的质量显然会低于输入视频文件。

我使用了以下选项并取得了不错的效果。

  1. 每秒帧数
  2. 音频比特率
  3. 视频帧的大小/分辨率
  4. 对于我的视频,我通常将它们设置为:

    1. 每秒24帧
    2. 音频比特率为128 Kbps
    3. 1024x576或512x288的尺寸/分辨率 - 这是因为我喜欢我的视频宽高比为16:9。
    4. 此外,我首先将视频帧缩放到所需的分辨率,然后将它们裁剪为所需的大小。

      您当然可以使用这些选项在文件大小与视频质量方面找到最适合您的选项。

      命令是:

      • 用于MP4格式的输出视频

        avconv -i <input_filename> -c:v libx264 -c:a mp3 -b:a 128k -r 24 -vf "scale=512:-1,crop=512:288:0:0" <output_filename.mp4>

      • 用于WEBM格式的输出视频

        avconv -i <input_filename> -c:v libvpx -c:a libvorbis -b:a 128k -r 24 -vf "scale=512:-1,crop=512:288:0:0" <output_filename.webm>

      试一试。希望它有所帮助。