ffmpeg命令创建可共享到Instagram等的mp4视频

时间:2019-02-05 14:59:26

标签: android ffmpeg instagram

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

当我尝试共享创建的视频时,它们会在Instagram应用程序中加载和预览(在Android和iOS上均经过测试),但是在最后一步中点击“共享”按钮后,用户界面会返回到我的提要,上传进度立即切换为"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-line ffmpeg并测试了许多参数变体(其中没有一个创建可上传的视频)来使Android脱颖而出。

我有一个类似的.mp4文件,该文件是由我们的iOS应用(不是使用ffmpeg)创建的,已将其带到Android设备中,并成功上传。 我还已经将.mp4文件发送到iOS设备,并且该文件不会上传,因此似乎是某种编码问题。

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

有没有办法从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

我已经尝试了视频和音频比特率,帧率,缩放,预设,音调,配置文件等的各种变化。但是到目前为止还没有运气。

有人可以使用ffmpeg命令为Instagram生成视频吗?

1 个答案:

答案 0 :(得分:1)

您的视觉输入只是一帧。我怀疑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通常不需要手动比特率)