Android操作系统不支持非基线AVC视频配置文件

Android操作系统不支持非基线AVC视频配置文件,android,cordova,phonegap,libavcodec,Android,Cordova,Phonegap,Libavcodec,在上传到服务器之前,我一直在使用“”插件来减小视频的大小/质量 该插件在大多数Android手机上都能正常工作,在iOS上也不用担心 但在最近的安卓手机上,它碰巧崩溃了。 我用Android 9下的小米RedMi Note 7重现了这个错误 我有一个错误: net.ypresto.androidtranscoder.engine.InvalidOutputFormatException: Android操作系统不支持非基线AVC视频配置文件,实际 国际数据中心:100 以下是视频的特点: H26

在上传到服务器之前,我一直在使用“”插件来减小视频的大小/质量

该插件在大多数Android手机上都能正常工作,在iOS上也不用担心

但在最近的安卓手机上,它碰巧崩溃了。 我用Android 9下的小米RedMi Note 7重现了这个错误

我有一个错误:

net.ypresto.androidtranscoder.engine.InvalidOutputFormatException:

Android操作系统不支持非基线AVC视频配置文件,实际 国际数据中心:100

以下是视频的特点:

H264 - MPEG-4 AVC (part10)(avc1)
1920x1080
Planar 4:2:0 YUV
ITU-R BT.601 (50 Hz)

MPEG AAC Audio (mp4a)
48000Hz
32bits
经过几次搜索,我无法找到解决方案,但仍有一些线索,如:

今天,除了创建自己的插件以使用另一个与新视频格式兼容的Android库之外,我不能得出任何其他结论。 我必须承认,我不太喜欢这个解决方案,这就是为什么我呼吁社区

你认为关于这个问题你有什么其他的信息可以帮助我吗

多谢各位

解决方法: 确实是插件依赖性与新的编解码器不兼容

因此,我在github上分叉插件,然后修改转码视频的代码部分。 现在我使用此库而不是旧库:

您可以看到此回购协议提交中的更改:

我不建议您在项目中使用它,因为它不是100%测试/与所有手机兼容的,它是最近的一个变化

除此之外,与上一版本不同,上一版本允许选择高度/宽度、比特率和其他内容,我的版本允许计算:

newHeight = videoHeight / 2;
newWidth = videoWidth / 2;
bitrates = (newHeight / 2) * (newWidth / 2) * 10;
如果您对我的代码有任何意见或问题,请随时提问

但出现了一个新问题: 这个新问题不是由于我的修改而产生的副作用,因为它也出现在旧版本中,我只是认为它也与转码有关

现在,当我打开相机录制视频时,只要我想关闭返回Cordova Main活动的意图,应用程序就会重新启动


我不认为这是真正需要讨论的话题,因此我将创建一个新的讨论,以更好地区分我的问题。

嗨,我也有同样的非基线问题。您能否用一个接受的答案更新您的问题,并解释您是如何替换代码中的转码库的,以及您是如何选择替换的?谢谢,我也有同样的非基线问题。您能否用一个接受的答案更新您的问题,并解释您是如何替换代码中的转码库的,以及您是如何选择替换的?谢谢