Android FFMpeg No such file or directory 错误
Posted
技术标签:
【中文标题】Android FFMpeg No such file or directory 错误【英文标题】:Android FFMpeg No such file or directory error 【发布时间】:2016-05-23 11:57:38 【问题描述】:我正在使用 ffmpeg for android(使用 gradle 插件 'com.writingminds:FFmpegAndroid:0.3.2')并且我正在尝试将视频裁剪为 16:9(w:h)的比例。原始视频是 1080:1920 (w:h)。 当我执行命令时,我得到一个 IOException No such file or directory。
我正在使用的命令:
-i /storage/emulated/0/Movies/MyApp/result_joined.mp4 -vf crop=1080:607 -preset ultrafast /storage/emulated/0/Movies/MyApp/result_cropped.mp4
例外:
java.io.IOException: Error running exec(). Command:
[/data/user/0/my.package.name/files/ffmpeg, -i, /storage/emulated/0/Movies/MyApp/result_joined.mp4, -vf, crop=1080:607, -preset, ultrafast, /storage/emulated/0/Movies/MyApp/result_cropped.mp4] Working Directory: null Environment: null
Caused by: java.io.IOException: No such file or directory
在没有帮助的情况下搜索了几个堆栈溢出问题。 我还尝试将文件保存到内部存储而不是外部存储。结果一样
有什么帮助吗?
【问题讨论】:
如错误所示,您的目录未创建或文件不存在。你应该再确认一次。 @lalith 感谢您的回复。我实际上检查了几次目录和文件是否存在。 您找到解决方案了吗? 【参考方案1】:创建FFmpeg的实例后需要调用loadBinary方法。
try
ffmpeg.loadBinary(new LoadBinaryResponseHandler()
@Override
public void onFailure()
Logger.i(TAG, "ffmpeg not supported");
);
catch (FFmpegNotSupportedException e)
e.printStackTrace();
【讨论】:
【参考方案2】:我遇到了同样的异常。我忘了加载 FFmpeg 库。 首先我们必须加载这个库。 在运行命令之前运行这个函数。
void LoadFFmpegLibrary()
if(ffmpeg==null)
ffmpeg = FFmpeg.getInstance(context);
try
ffmpeg.loadBinary(new LoadBinaryResponseHandler()
@Override
public void onStart()
@Override
public void onFailure()
Toast.makeText(context, "Failed", Toast.LENGTH_SHORT).show();
@Override
public void onSuccess()
Toast.makeText(context, "Success", Toast.LENGTH_SHORT).show();
@Override
public void onFinish()
);
catch (FFmpegNotSupportedException e)
e.printStackTrace();
【讨论】:
以上是关于Android FFMpeg No such file or directory 错误的主要内容,如果未能解决你的问题,请参考以下文章
error while loading shared libraries: libhiredis.so.0.14: cannot open shared object file: No such fi
错误记录编译 ijkplayer 报错 (fatal error: ijksoundtouch/ijksoundtouch_wrap.h: No such file or directory )
错误记录编译 ijkplayer 报错 (fatal error: libyuv.h: No such file or directory #include “libyuv.h“ )
Android open failed: ENOENT (No such file or directory)
redhat7安装jdk1.7报错/home/renqiwei/jdk1.7/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such fi