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

问题描述 投票:0回答:0

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

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

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

我有这个错误:

net.ypresto.androidtranscoder.engine.InvalidOutputFormatException:

Android 操作系统不支持非基线 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上fork了这个插件,然后修改了转码视频的代码部分。现在我用这个库代替旧库:https://github.com/tangpeng/VideoCompressor

你可以看到这个 repo 的提交的变化: https://github.com/Eblancho/cordova-plugin-video-editor

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

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

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

新问题出现了

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

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

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

android cordova phonegap libavcodec
© www.soinside.com 2019 - 2024. All rights reserved.