GStreamer gst-omx를 어떻게 설치합니까?


16

지난 주 동안 Rastberry PI에서 gstreamer와 함께 작동하는 gst-omx 플러그인을 얻으려고 가장 힘든 시간을 보냈습니다.

여기 누군가가 해냈는지 궁금해서 어떻게 보여줄 수 있습니까?

git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.gitgstreamer의 테스트 버전이 필요할 때 wheezy를 설치했습니다 .

Gstreamer는 일반 플러그인을 사용하여 라즈베리에서 잘 작동하므로 하드웨어 가속이 없습니다.

gst-omx를 설치하면 gstreamer의 블랙리스트에 표시되며 Linux 지식이 매우 제한되어 디버깅이 불가능하므로 완전히 멈춰 있습니다.


약간 정교하게 할 수 있습니까? 작동하지 않는 것은 무엇입니까?
Jivings 2016 년

또한 필요한 것이 무엇인지 말씀해 주시겠습니까? 아마도 더 나은 대안을 사용할 수있을 것입니다.
Jivings 2016 년

2
내가 필요한 것은 커맨드 라인 비디오 / 오디오 플레이어입니다. 내 코드 내부에서 코드를 호출하고 미디어 파일을 가리킬 수 있으므로 재생 한 다음 코드로 돌아갑니다. 나는 그것을 복잡하게 생각하고 hello_video를 hello_audio 예제와 병합하려고 시도해야합니다. OpenStream을 코딩하는 방법을 배우는 대신 프레임 워크가 있기 때문에 gstreamer가 더 쉬울 것이라고 생각했지만 프레임 워크가 아직 없다고 생각합니다.
user185955

나는 당신이 볼 필요 가이 질문이라고 생각합니다! raspberrypi.stackexchange.com/questions/100/…
Jivings 2016 년

1
omxplayer의 문제점은 hello_video 예제처럼 거의 즉시 비디오를로드하는 데 시간이 오래 걸린다는 것입니다. omx 플레이어를 사용하려면 작동하지 않는 파일 사이에 큰 간격이있을 것입니다. 이것이 내가 gstreamer를 사용하려고하거나 어떻게 든 hello_audio와 hello_video를 병합하려고하는 이유입니다 ... 비디오를 잘못 인코딩하면 내 자신이 항상 동일한 코덱이됩니다.
user185955

답변:


8

Raspberry Pi 포럼 게시물의 세부 사항

필요한 경우 rpi-update 가져 오기 및 설치

sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
sudo apt-get -y install git-core

최신 패키지 및 펌웨어로 업그레이드

sudo apt-get update
sudo apt-get upgrade -y
sudo rpi-update
sudo reboot

라즈베리 브랜치에서 gst-omx 소스 가져 오기

cd $HOME 
git clone -b 0.10 git://anongit.freedesktop.org/gstreamer/gst-omx

Gstreamer 패키지 및 omx 빌드에 필요한 패키지 설치

sudo apt-get install -y autoconf gtk-doc-tools libtool 

configure 스크립트 자동 생성, gst-omx 구성, 구성 및 설치

cd gst-omx
./autogen.sh --noconfigure
./configure --prefix=/home/pi/omx
make 
make install

pi 사용자를위한 gst-omx 환경 설정

cp  omx/gstomx-raspberry.conf $HOME/omx/lib/gstreamer-0.10/gstomx.conf
cd $HOME
echo -e \\n# Gstreamer environment >> .profile
echo export GST_PLUGIN_PATH=$HOME/omx/lib/gstreamer-0.10/ >> .profile
echo export GST_OMX_CONFIG_DIR=$HOME/omx/lib/gstreamer-0.10/ >> .profile
echo export LD_LIBRARY_PATH=$HOME/omx/lib/gstreamer-0.10/ >> .profile
. ./.profile

GStreamer 도구 설치

sudo apt-get install gstreamer0.10-tools

gst-omx가 올바르게 설치되었는지 확인하십시오.

다음 명령이있는 경우 다음 플러그인을 표시해야합니다.

> gst-inspect-0.10 | grep omx
openmax  omxmpeg4videodec: OpenMAX MPEG4 Video Decoder
openmax  omxh264dec: OpenMAX H.264 Video Decoder

블랙리스트에있는 omxmpeg 플러그인 문제

omx 및 gstreamer-plugins-bad와 충돌이 발생하여 블랙리스트를 삭제했습니다.

sudo aptitude remove libgstreamer-plugins-bad0.10-0

하드웨어 h.264 인코딩에 omxh264enc 플러그인 사용

이 플러그인은 지금까지 고장난 것 같지만이를 활성화하는 방법은 다음과 같습니다. $ GST_OMX_CONFIG_DIR / gstomx.conf에 다음을 추가하십시오.

[omxh264enc]
type-name=GstOMXH264Enc
core-name=/opt/vc/lib/libopenmaxil.so
component-name=OMX.broadcom.video_encode
rank=256
in-port-index=200
out-port-index=201
hacks=no-empty-eos-buffer;no-component-role

익명 사용자에 따르면 git 브랜치 이름이 변경되었으므로 라즈베리 브랜치에서 Get gst-omx source 아래 에 git clone -b raspberry있어야합니다 git clone -b 0.10. 나는 이것을 확인하지 않았다.
goldilocks

gstreamer를 사용하여 CSI 카메라 moudule에서 nginx-rtmp로 비디오를 보내려면 어떻게해야합니까 ??
WillyWonka

4

이 리포지토리를 /etc/apt/sources.list

deb http://vontaene.de/raspbian-updates/ . 본관

그리고 간단하게 ....

sudo apt-get update
sudo apt-get install gstreamer1.0

해당 타사 저장소는 Pi 포럼 외부의 구성원이 호스팅합니다 . 최신 버전의 gst-omx 프로젝트를 컴파일하고 파일을 게시합니다.

이 명령을 사용하여 Pi의 하드웨어 기능을 인식했는지 확인할 수 있습니다

gst-inspect-1.0 | grep omx

여기에 이미지 설명을 입력하십시오


1
현재로서는 가장 빠르고 쉬운 방법입니다. Unkle George의 답변에 아래에 설명 된 것처럼 컴파일하면 일부 결함이 오래되어서 효과가 없었습니다.
PTS

4

2015 년 4 월 현재 Raspbian 리포지토리에는 GStreamer 1.2 및 OpenMAX 플러그인이 포함되어 있으므로 가장 쉬운 방법은 ppumkin의 답변 이지만 편집하지 않는 것입니다 /etc/apt/sources.list.

sudo apt-get update
sudo apt-get install gstreamer1.0

그런 다음 확인하십시오 :

gst-inspect-1.0 | grep omx

나는 gstreamer1.0저장소에 없습니다 . 어떻게 추가합니까?
shrx

gstreamer1.0 패키지는 없지만 apt-get은이를 정규 표현식으로 사용하고 모든 gstreamer1.0 ... 패키지를 다운로드해야합니다. 않는 apt-cache search ^gstreamer1.0모든 패키지를 보여?
M. Rubio-Roy

gstreamer 관련 패키지를 찾지 만, gstreamer1.0모든 기본 gstreamer 패키지를 포함 하는 실제 deb 패키지 가 있어야한다고 생각했습니다 .
shrx
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.