FFMPEG命令执行在android中占用太多时间

时间:2017-01-17 05:26:49

标签: android ffmpeg android-ffmpeg

当我运行FFMPEG的任何命令时,执行时花费了太多时间。我使用FFMPEG命令进行反向视频,音频视频合并,创建GIF图像和改变视频速度。请告诉我如何快速运行FFMPEG命令。请帮帮我

4 个答案:

答案 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进行视频处理的音频,它必须按一个样本或一帧一帧处理数据。

您可能会认为其他具有硬件加速功能的解决方案,例如FFMPEGMediaCodecRenderScriptOpen GLES,可以进行密集型计算以加快速度。