omxplayer 可以在普通 64 位上运行吗?

omxplayer 可以在普通 64 位上运行吗?

omxplayer 应该是一个不错的播放器,可以在 Raspberry PI 上播放电影。我想先在 Debian 虚拟机上测试一下,这也是更适合远程控制开发的环境,因为我的 HDMI 屏幕没有放在非常合适的位置。

我可以在 64 位 debian 上运行 omxplayer 吗?我应该怎么做才能这样做?我必须建造一些东西吗(请不要!)?

答案1

简短回答: 即使手动编译,似乎也无法完成您所要求的操作。

 

长答案

由于没有适用于 amd64 或 i386 的预制软件包,因此您必须从源代码安装或找到一些能够运行为其编译的体系结构制作的二进制文件的模拟器。

从理论上讲,这就像遵循网站上的说明一样简单OMXplayer 的 github 站点:

git clone https://github.com/popcornmix/omxplayer.git
cd omxplayer
make ffmpeg

糟糕,由于假定的 ARM 芯片组交叉编译而出现错误。我调整了 Makefile 以省略 arm-linux-gnueabihf 包含以及 vchiq_arm 库,然后可以看到我已经安装了 ffmpeg(因此此阶段已完成)。如果这是唯一的障碍,您可以跳过此步骤,而不必更改 Makefile。

make

这里你会得到一个致命错误:

Makefile:46: recipe for target 'linux/XMemUtils.o' failed
make: /home/dc4/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian//bin/arm-linux-gnueabihf-g++: Command not found
make: *** [linux/XMemUtils.o] Error 127

/home/dc4是硬编码路径。我还没有深入研究这是否是它为交叉编译而构建的一些监狱的一部分,但交叉编译对于这个代码库的设计来说是非​​常重要的,并且看起来将其移植到其他架构(如 amd64 或 i386)需要付出很大的努力。

有一个raspberrypi.SE 上有类似问题(由这个问题的赏金提供者提出?!)其接受的答案与我的结论一致,即这是不可能的,并另外指出:

omxplayer通过利用 CPU 的 VideoCore IV 部分的硬件功能来工作,该部分具有嵌入式媒体编码器和解码器。 OMX 是指开放式MAX这是该硬件的接口。除了移动/嵌入式领域之外,我不知道有任何设备与 OpenMAX 兼容。但由于现代 intel/AMD CPU 和 nVidia/AMD GPU 也包含硬件媒体编码器和解码器,因此它们可能会提供 OpenMAX 兼容驱动程序。只有这样你才有机会。但我仍然不知道有这样的司机。

 

其他选项

  • 考虑类似的事情多用途车反而。该播放器在 amd64 和 i386 上运行良好。另请参阅此线程适用于树莓派的 mpv,这意味着它在现代包管理器中可用。
  • 您提到没有“在非常合适的位置配备 HDMI 屏幕”,但 HDMI 和 DVI 仅在物理引脚上有所不同。 HDMI 转 DVI 转换器的成本约为6 美元,这可以让您在办公桌上的 Raspberry Pi 上更轻松地进行实验。

相关内容