首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级至fedora 36后mlt失败

升级至fedora 36后mlt失败
EN

Stack Overflow用户
提问于 2022-05-18 20:21:42
回答 1查看 81关注 0票数 0

自从我的电脑从Fedora 35升级到Fedora 36之后,kdenlive就无法渲染。我追踪到问题是mlt融化造成的。

代码语言:javascript
复制
$ mlt-melt export.mlt
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
|1=-10| |2= -5| |3= -2| |4= -1| |5=  0| |6=  1| |7=  2| |8=  5| |9= 10|
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
+---------------------------------------------------------------------+
|               H = back 1 minute,  L = forward 1 minute              |
|                 h = previous frame,  l = next frame                 |
|           g = start of clip, j = next clip, k = previous clip       |
|                0 = restart, q = quit, space = play                  |
+---------------------------------------------------------------------+
[consumer avformat] error with audio encode: -22 (frame 1)
[consumer avformat] error with audio encode: -22 (frame 11)
[consumer avformat] error with audio encode: -22 (frame 21)
Current Position:         20
代码语言:javascript
复制
$ mlt-melt --version
mlt-melt 7.4.0
...

$ dnf list mlt\*
...
Installed Packages
mlt.x86_64                                                                          7.4.0-3.fc36                                                                     @fedora        
mlt-freeworld.x86_64                                                                7.4.0-1.fc36                                                                     @rpmfusion-free
...

完全相同的mlt文件(我在F36上的kdenlive 22.04.0上生成的)在Fedora 35上工作得很好,它安装了mlt熔体6.26.1。我没有看到任何关于需要额外步骤使mlt在F36上工作的说明。如果我将一个工作的.mlt文件从F35拉到F36,我会得到相同的"audo 22“错误。

有什么想法或建议吗?我不能回过头来看F35。我需要一个前进的解决方案。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-05-22 21:32:07

错误代码-22映射到posix错误EINVAL (无效参数)。THis是FFMpeg从对avcodec_receive_packet()的调用返回的代码。https://github.com/mltframework/mlt/blob/0e0e526124f4392275bdeb2510e8fb086d23da8f/src/modules/avformat/consumer_avformat.c#L1376

如果您在FFMpeg中跟踪代码,那么返回EINVAL的地方有很多:https://ffmpeg.org/doxygen/trunk/encode_8c_source.html#l00391

我认为最有可能的是,您的FFMpeg没有您想要使用的编解码器--但是您说它在直接使用FFMpeg时是有效的。除非MLT没有找到与您正在测试的相同的FFMpeg。查看MLT是否正在找到您想要的编解码器的一个好方法是运行:

代码语言:javascript
复制
melt -query audio_codecs

但这只是猜测。也许EINVAL错误代码是由另一个问题引起的。

至于其他想法..。那么,您可以使用开发人员自己提供的AppImage或Flatpack:https://kdenlive.org/en/download/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72295498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档