使用ffmpeg压缩两帧视频

使用ffmpeg压缩两帧视频

我正在尝试使用乌班图 Linux 19.04转换一个开放射击视频转换为更有效的文件大小。

视频仅包含两个静止图像和 20 分钟的音频,但对于我另存为的每种文件类型,输出文件都大于 600MB。

显然我选择了错误的无损输出文件类型;您可能会认为这样的视频只有 10MB,因为整个视频中几乎所有帧都是两帧之一。

使用 ffmpeg,如何将此视频转换为了解如何有效压缩所有重复帧的格式?

答案1

您的问题已在ffmpeg 示例。你可以使用这样的东西:

ffmpeg -loop 1 -framerate 1 -i banner.png -i audio.wav -map 0 -map 1 -c:v libx264 -crf 16 -c:a aac -b:a 92k -shortest -movflags +faststart ready_to_upload.mp4

详细解释:

  • -loop 1可能永远重复图像
  • -framerate 1帧率低
  • -i banner.png -i audio.wav输入图像和音频
  • -map 0 -map 1使用两个流
  • -c:v libx264 -crf 16拥有高品质的形象
  • -c:a libfdk_aac -b:a 92k拥有高品质
  • -shortest音频结束后停止重复横幅图像
  • -movflags +faststart在 MP4 容器的开头包含索引以便尽早启动

它压缩至每分钟大约 1 MB。

注意:YouTube 可能(但不保证)会重新编码您的视频。图像质量将会下降。

相关内容