我尝试使用库压缩视频,并在用java编写的android应用程序中运行FFmpeg命令(尽管库在Kotlin中(我设法做了一些基本的操作,但我要向您展示的当前操作总是会失败,错误代码如下:未知编码器"libx265">
库希望输入是String[],我认为出现了问题,但我找不到确切的内容。
命令行
val query:Array<String> = arrayOf("-i", videoPath , "-c:v" , "libx265" ,"preset", "fast", "-crf", "30", "-tag:v", "hvc1", "-c:a", "eac3", "-b:a", "224k" , "$videoPath.mp4");
整个代码
fun videoCompress(videoPath: String) {
val query:Array<String> = arrayOf("-i", videoPath , "-c:v" , "libx265" ,"-preset", "fast", "-crf", "30", "-tag:v", "hvc1", "-c:a", "eac3", "-b:a", "224k" , "$videoPath.mp4");
CallBackOfQuery().callQuery(query, object : FFmpegCallBack {
override fun statisticsProcess(statistics: Statistics) {
Log.i("FFMPEG LOG : ", statistics.videoFrameNumber.toString())
}
override fun process(logMessage: LogMessage) {
Log.i("FFMPEG LOG : ", logMessage.text)
}
override fun success() {
Log.d("yyyy", "success: ")
}
override fun cancel() {
}
override fun failed() {
}
})
}
来自代码的日志
我在build.gradle文件中添加了什么
implementation 'com.github.SimformSolutionsPvtLtd:SSffmpegVideoOperation:1.0.8'
的结果
未知编码器"libx265">
使用此库
implementation 'com.arthenica:mobile-ffmpeg-full-gpl:4.2.2.LTS'
这个命令
String cmd = "-y -i " + oldPath + " -c:a copy -r 30 -vcodec libx264 -crf 28 -preset ultrafast " + newFile.getPath();