我正在使用下面的命令来应用效果,它需要6-8分钟来应用效果2分钟的视频。请帮助我提高ffmpeg命令的有效时间。
String commandStr = "ffmpeg -y -i "
+ mVideoData.getPath()
+ " -strict experimental -vf curves=vintage -s 640x480 -r 30 -aspect 4:3 -ab 48000 -ac 2 -ar 22050 -b 2097k -vcodec mpeg4 /sdcard/videokit/curve.mp4";提前谢谢。
发布于 2014-01-30 20:24:19
请记住,您正在处理电话。
它们不是CPU的主力--它们只是手机,只需要很少的电池就能长时间运行。curves滤镜非常耗费资源,因为它会为输入视频中的每个单独的像素计算一个新值。视频编码器本身可能不会成为这里的瓶颈。
视频效果最好不是在手机上渲染,而是在一些强大的web服务器上渲染。在电话上,您可能希望先在预览剪辑上运行效果,或仅在静止图像上运行。
发布于 2014-01-31 00:59:04
首先,我完全同意@slhck。你必须了解移动计算的局限性。不过,为了让你在这里满意,你可以试试这些。
包括-preset ultrafast选项。它大大减少了时间,但牺牲了质量。我用这个命令运行了一个4 min.视频,它花了3-4分钟来完成。
String commandStr = "ffmpeg -y -i "
+ mVideoData.getPath()
+ " -strict experimental -vf curves=vintage -s 640x480 -r 30 -aspect 4:3 -ab 48000 -ac 2 -ar 22050 -b 2097k -preset ultrafast /sdcard/videokit/curve.mp4"; 接下来,您可以降低audio bitrate并删除audio sampling rate。如果可能,还要减少framerate。所有这些都可以共同减少你的时间。
希望这对you.Cheers有所帮助。:)
发布于 2016-02-01 21:33:19
每秒图像创建视频
commandStr = "ffmpeg -framerate 1/1 -i " + privatePath + "img_%d.jpg -strict experimental -vf curves=vintage -s 640x480 -r 10 -aspect 4:3 -ab 48000 -ac 2 -ar 22050 -b 2097k -preset ultrafast "+privatePath+ "Video.mp4";https://stackoverflow.com/questions/21455385
复制相似问题