Ffmpeg 命令创建可分享到 Instagram 等的 mp4 视频

Ffmpeg command to create mp4 video sharable to Instagram, etc

我正在我的 Android 应用程序中创建一个 mp4 视频,方法是将静态 1080x1080 .png 图像与 24/48 .wav 音频相结合,尝试生成一个兼容并可以共享到的文件社交媒体平台,例如 Facebook 和 Instagram(提要)。

当我尝试分享我创建的视频时,它们会在 Instagram 应用程序中加载和预览(在 Android 和 iOS 上测试),但在点击 "Share" 按钮,UI returns 到我的 Feed,上传进度立即切换到 "Not Posted Yet. Try Again"。如果我然后点击重试按钮,我会立即看到一个对话框,说明 "Couldn't Post Video" "There was a problem rendering your video. If this keeps happening, you may have to use another video."

我正在使用 ffmpeg(通过 tanersener 的 mobile-ffmpeg 库)来执行此操作。

到目前为止我找到的所有文档都没有显示有关 Instagram 上传要求的非常具体的细节。 我对音频使用 AAC,对视频使用 h.264 (libx264)。 我使用的样本持续时间为 30 秒。如上所述,PNG 为 1080x1080。

我通过在我的 Mac 上使用具有相同输入文件的 cmd 行 ffmpeg 并测试参数的许多变体,none创建一个可上传的视频。

我有一个由我们的 iOS 应用程序(未使用 ffmpeg)创建的类似 .mp4 文件,我将其带到我的 Android 设备并成功上传。 我也已将我的 .mp4 文件发送到 iOS 设备,但它不会上传,所以这似乎是某种编码问题。

我还没有找到可以生成可以成功分享到 Instagram 的视频的 ffmpeg 参数组合。

有没有办法从 Instagram 获取详细日志以了解它拒绝文件的原因?

这是我一直关注的ffmpeg命令:

ffmpeg -i test.wav -i test.png -c:a aac -b:a 256k -ar 44100 -c:v libx264 -b:v 5M -r 30 -pix_fmt yuv420p -preset faster -tune stillimage test.mp4

我已经尝试了各种视频和音频比特率、帧率、缩放、预设、曲调、配置文件等变体。但到目前为止还没有成功。

有人有用于为 Instagram 生成视频的有效 ffmpeg 命令吗?

您的视觉输入只是一帧。我怀疑IG不喜欢这样。循环播放以制作视频流。

ffmpeg -i test.wav -loop 1 -i test.png -c:a aac -b:a 256k -ar 44100 -c:v libx264 -pix_fmt yuv420p -preset faster -tune stillimage -shortest test.mp4

(libx264 通常不需要手动比特率)