Remuxing mp4 并以编程方式使用 ffmpeg 更改分辨率

Remuxing mp4 and change resolution with ffmpeg programmatically

我有一个使用 ffmpeg 的 remuxing.c 示例,但我需要更改分辨率以最小化文件大小,任何人都可以向我解释如何做到这一点?或者如果有另一种方法可以在没有命令行的情况下 "compress" mp4 文件?我是 FFmpeg 的初学者,需要将视频文件从 android 发送到服务器,我正在部署一个 NDK 库来完成这项工作,因为 FFmpeg 命令行实现有一些限制并且非常慢。

谢谢

您应该看看 filtering video and the transcoding 示例。第一个介绍如何在 ffmpeg 中添加 "filters"。它包括一个缩放过滤器,它将视频重新缩放到给定的分辨率。转码包括一些过滤,您实际上可以将 filter_spec 字符串更改为您想要的任何内容,程序应该缩放您的输入视频。

这可能不是最好的解决方案,我只是自己找到的,但它至少向您介绍了正在使用的组件。