首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPlayer无法在mp4容器中播放opus文件

MPlayer无法在mp4容器中播放opus文件
EN

Unix & Linux用户
提问于 2021-02-27 23:06:12
回答 1查看 690关注 0票数 0

我使用的是mplayer 1.4-11版本。

当尝试播放这些(仅音频)类型的文件时,MPlayer提供了错误消息“无法找到音频格式0x7375704F的编解码器”。

其他媒体播放器,如vlc,没有问题,发挥他们。

支持的编解码器列表在MPlayer网站上表示,它支持类似的音频格式"0x7375706F“,其编解码器名为"FFmpeg opus”和"FFmpeg libopus“。

MPlayer可以成功地播放带有.opus扩展名或在.mkv文件中的opus音频文件,而ffplay ( ffmpeg player实用程序)可以在没有问题的情况下播放这些mp4文件。

下面是创建这类文件的示例命令(使用放置在周围的任何音频文件):

代码语言:javascript
复制
ffmpeg -i myaudio.mp3 -acodec libopus -y test.mp4

所有这些都表明MPlayer在播放这些文件时应该没有问题,但是它抱怨音频格式不受支持。为什么?

EN

回答 1

Unix & Linux用户

发布于 2021-02-27 23:07:18

MPlayer使用一个名为codecs.conf的配置文件来控制各种编解码器的支持。出于某种原因,.mp4容器中的opus组合在1.4.11中并不包括在内。

该手册指示文件有时被内置到可执行文件中,但您也可以使用其中一个文件系统覆盖它。在我的计算机上,mplayer首先在$HOME/.mplayer/codecs.conf中查找codecs.conf文件,如果没有找到一个文件,它会搜索/etc/mplayer/codecs.conf。您可以通过使用-v参数调用mplayer来看到这一点。

该手册还说,您可以在命令行上传递一个-codecs-file参数选项,但这对我不起作用。

因此,获取默认codecs.conf文件的副本。您可以在网站上的源tarball或非官方github镜像中找到它。可以在源树的etc/下找到该文件。

将以下内容添加到文件的顶部:

代码语言:javascript
复制
; Manually added: support opus inside .mp4
audiocodec ffopusmp4
  info "FFmpeg opus/mp4"
  status working
  format 0x7375704F
  fourcc opus
  driver ffmpeg
  dll opus

并将其保存在搜索路径中。对我来说,那是在$HOME/.mplayer/codecs.conf之下。

MPlayer版本它的codecs.conf文件,所以如果您收到警告:

代码语言:javascript
复制
This codecs.conf is too old and incompatible with this MPlayer release!

您需要从最新版本中获取文件并更新它。在紧要关头,只需将tp "release“值放在文件的顶部,直到现在,尽管这可能会导致不兼容,这取决于项目为什么决定取消版本。

有了这个改变,我可以在.mp4文件中播放作品,就像其他任何文件一样。

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

https://unix.stackexchange.com/questions/636764

复制
相关文章

相似问题

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