当我运行FFMPEG的任何命令时,执行时花费了太多时间。我使用FFMPEG命令进行反向视频,音频视频合并,创建GIF图像和改变视频速度。请告诉我如何快速运行FFMPEG命令。请帮帮我
答案 0 :(得分:4)
在ffmpeg命令中添加以下代码以提高处理速度
-c:v libx264 -preset ultrafast
用于音频修剪
int minutes = (int) Math.floor(start_sec / 1000 / 60);
int seconds =(int)Math.ceil(start_sec / 1000) - (minutes * 60);
int endSeconds=(int) ((end_sec / 1000) - (minutes * 60));
int duration=endSeconds-seconds;
Log.d("start_point_seconds",""+seconds);
Log.d("start minutes",""+minutes);
String[] complexCommand = {"-i", src + "", "-ss", "00:"+minutes+":"+seconds, "-t",""+duration ,"-acodec","copy","/storage/emulated/0/Music/"+app_name+"/music_" + number + ".mp3"};
答案 1 :(得分:0)
ffmpeg的执行时间取决于文件的大小。因此,大文件需要很长时间才能进行转换,但这也取决于您正在执行的操作类型。
答案 2 :(得分:0)
你应该使用" -preset"," ultrafast"在你的ffmpeg命令中加速执行时间但它只在视频小于15秒时才有效,否则会加快执行时间但延迟视频播放的启动时间,看起来你的音频和视频可能与帧不匹配
答案 3 :(得分:0)
是的,Android设备上的速度非常慢。 gcc
在大多数Android设备上都没有硬件速度。这意味着所有计算都在FFMPEG
完成。 CPU
命令的速度在很大程度上取决于设备' CPU速度。
对于通过FFMPEG
进行视频处理的音频,它必须按一个样本或一帧一帧处理数据。
您可能会认为其他具有硬件加速功能的解决方案,例如FFMPEG
,MediaCodec
,RenderScript
,Open GLES
,可以进行密集型计算以加快速度。