omxplayer를 일반 64비트에서 실행할 수 있나요?

omxplayer를 일반 64비트에서 실행할 수 있나요?

omxplayer는 Raspberry PI에서 영화를 재생하는 데 좋은 플레이어여야 합니다. HDMI 화면이 그다지 적합한 위치에 배치되지 않았기 때문에 원격 제어 개발에 더 적합한 환경이기도 한 데비안 가상 머신에서 먼저 테스트하고 싶었습니다.

64비트 데비안에서 omxplayer를 실행할 수 있나요? 이렇게 하려면 어떻게 해야 합니까? 뭔가를 만들어야 하나요? (하지 마세요!)

답변1

짧은 답변: 수동으로 컴파일해도 원하는 것을 달성하지 못하는 것 같습니다.

 

긴 대답

amd64 또는 i386용으로 미리 만들어진 패키지가 없기 때문에 소스에서 설치하거나 컴파일된 아키텍처용으로 만들어진 바이너리를 실행할 수 있는 일부 에뮬레이터를 찾아야 합니다.

이론적으로는 웹사이트의 지침을 따르는 것만큼 간단합니다.OMXplayer의 github 사이트:

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

이런, ARM 칩셋에 대한 크로스 컴파일로 인해 오류가 발생했습니다. arm-linux-gnueabihf 포함과 vchiq_arm 라이브러리를 생략하도록 Makefile을 조정했고 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는 다음을 의미합니다.오픈맥스이것이 이 하드웨어에 대한 인터페이스입니다. 모바일/임베디드 세계 이외의 OpenMAX와 호환되는 장치는 없습니다. 그러나 최신 Intel/AMD CPU 및 nVidia/AMD GPU에는 하드웨어 미디어 인코더 및 디코더도 포함되어 있으므로 OpenMAX 호환 드라이버를 제공할 수 있습니다. 그래야만 기회가 있을 것입니다. 하지만 아직 그런 운전자를 본 적이 없습니다.

 

다른 옵션

  • 다음과 같은 것을 고려하십시오.유틸리티 차량대신에. 플레이어는 amd64 및 i386에서 잘 실행됩니다. 이 스레드도 참조하세요.라즈베리 파이용 mpv, 이는 최신 패키지 관리자에서 사용할 수 있음을 의미합니다.
  • "아주 적합한 위치에 HDMI 화면이 없다"고 말씀하셨는데, HDMI와 DVI는 물리적 핀만 다릅니다. HDMI-DVI 변환기 비용은 약 1,000,000원입니다.$6, 책상에서 Raspberry Pi를 더 쉽게 실험할 수 있습니다.

관련 정보