Android OS不支持非基准AVC视频配置文件

时间:2019-06-19 09:11:40

标签: android cordova phonegap libavcodec

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

该插件可在大多数Android手机上正常运行,而在iOS上则无需担心。

但是在最近的Android手机上,它会崩溃。 我使用Android 9下的Xiaomi RedMi Note 7重现此错误。

我有这个错误:

  

net.ypresto.androidtranscoder.engine.InvalidOutputFormatException:

     

Android OS不支持非基准AVC视频配置文件,实际   profile_idc: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上,然后修改对视频进行转码的代码部分。 现在,我使用这个库而不是旧的库:https://github.com/tangpeng/VideoCompressor

您可以看到此仓库中提交的更改: https://github.com/Eblancho/cordova-plugin-video-editor

我不建议您将其用于您的项目,因为它不是经过100%测试/与所有手机兼容的,它是最近才有的变化。

除此之外,与以前的版本允许选择高度/宽度,比特率等不同,我的版本计算如下:

newHeight = videoHeight / 2;
newWidth = videoWidth / 2;
bitrates = (newHeight / 2) * (newWidth / 2) * 10;

如果您对我的代码有任何意见或疑问,请随时提出。

但是出现了一个新问题:

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

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

我认为讨论不是真正的话题,所以我将创建一个新的讨论来更好地分离我的问题。

0 个答案:

没有答案