Jak mogę zainstalować GStreamer gst-omx?


16

Miałem najtrudniejszy czas w ciągu ostatniego tygodnia, próbując uzyskać wtyczkę gst-omx do współpracy z gstreamer na Raspberry PI.

Zastanawiam się, czy ktoś to zrobił i może mi pokazać, jak?

Zainstalowałem wheezy, ponieważ git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.gitpotrzebuje testowej wersji gstreamer.

Gstreamer działa dobrze na malinie przy użyciu zwykłych wtyczek, więc nie ma przyspieszenia sprzętowego.

Po zainstalowaniu gst-omx pojawia się na czarnej liście gstreamer i całkowicie utknąłem, ponieważ moja wiedza na temat Linuksa jest bardzo ograniczona, więc debugowanie jest dla mnie niemożliwe.


Czy potrafisz się trochę rozwinąć? Co nie działa?
— Jivings,

Czy możesz nam również powiedzieć, do czego jest to potrzebne? Być może istnieje lepsza alternatywa, której możesz użyć.
— Jivings,

2
Wszystko czego potrzebuję to odtwarzacz wideo / audio z linii poleceń. Aby z wnętrza mojego kodu mogłem wywołać kod i skierować go w kierunku pliku multimedialnego, pozwolić mu odtworzyć, a następnie powrócić do kodu. Wydaje mi się, że to skomplikowałem i powinienem spróbować połączyć hello_video z przykładem hello_audio. Myślałem, że gstreamer będzie łatwiejszy, ponieważ jest to framework zamiast uczyć się, jak kodować OpenIL, ale nie sądzę, że framework jest już dostępny.
— user185955

Myślę, że musisz spojrzeć na to pytanie! raspberrypi.stackexchange.com/questions/100/…
— Jivings

1
Problem z omxplayerem polega na tym, że ładowanie wideo zajmuje dużo czasu, a jak w przykładzie hello_video robi to niemal natychmiast. Będę musiał odtwarzać wiele filmów w krótkich odstępach czasu, jeden po drugim, gdybym używał odtwarzacza omx, miałbym duże przerwy między plikami, które nie działają. Właśnie dlatego chcę użyć gstreamer lub w jakiś sposób połączyć hello_audio i hello_video ... Ponieważ źle koduję filmy, moje ja zawsze będzie to ten sam kodek.
— user185955

Odpowiedzi:


8

Szczegóły z postu na forum Raspberry Pi

W razie potrzeby pobierz i zainstaluj aktualizację rpi

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

Zaktualizuj do najnowszych pakietów i oprogramowania układowego

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

Pobierz źródło gst-omx z gałęzi malin

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

Zainstaluj pakiety Gstreamer i pakiety wymagane do zbudowania omx

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

Automatycznie wygeneruj skrypt konfiguracyjny, skonfiguruj, utwórz i zainstaluj gst-omx

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

Skonfiguruj środowisko gst-omx dla użytkownika pi

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

Zainstaluj GStreamer Tools

sudo apt-get install gstreamer0.10-tools

Sprawdź, czy gst-omx został poprawnie zainstalowany.

Jeśli ma następujące polecenie, powinny wyświetlić te wtyczki:

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

Problemy z umieszczaniem wtyczek omxmpeg na czarnej liście

Wystąpił konflikt z omx i gstreamer-plugins-bad, więc następujące wyczyściło czarną listę:

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

Włącz wtyczkę omxh264enc dla sprzętowego kodowania h.264

Jak dotąd ta wtyczka wydaje się być zepsuta, ale oto jak ją włączyć. Dodaj następujące elementy do $ 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

Według jednego użytkownika anon, nazwa git oddział zmienił się, więc pod Get GST-OMX źródła z branży malinowym , git clone -b raspberrypowinno być git clone -b 0.10. Nie potwierdziłem tego.
— goldilocks

Jak mogę użyć gstreamer do wysłania wideo do nginx-rtmp z moudule CSI Camera ??
— WillyWonka

4

Dodaj tę linię repo do /etc/apt/sources.list

deb http://vontaene.de/raspbian-updates/ . Główny

Więc po prostu ....

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

To repozytorium strony trzeciej jest hostowane przez członka spoza forów Pi . Kompilują najnowsze wersje projektu gst-omx i publikują tam pliki.

Za pomocą tego polecenia możesz sprawdzić, czy rozpoznał możliwości sprzętowe Pi

gst-inspect-1.0 | grep omx

wprowadź opis zdjęcia tutaj


1
Na razie jest to najszybsza i najłatwiejsza metoda. Kompilowanie, jak opisano poniżej w odpowiedzi Unkle George, nie działało dla mnie, ponieważ niektóre depresje były nieaktualne.
— PTS

4

Według stanu na kwiecień 2015 r. Repozytoria Raspbian obejmują GStreamer 1.2 i wtyczki OpenMAX, więc najprostszym sposobem jest odpowiedź ppumkina, ale bez edycji /etc/apt/sources.list:

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

następnie sprawdź za pomocą:

gst-inspect-1.0 | grep omx

Nie mam gstreamer1.0w repozytorium. Jak mogę to dodać?
— shrx

Nie ma pakietu gstreamer1.0, ale apt-get powinien użyć go jako wyrażenia regularnego i pobrać wszystkie pakiety gstreamer1.0 ... Czy apt-cache search ^gstreamer1.0pokazuje jakieś paczki?
— M. Rubio-Roy,

Znajduje pakiety związane z gstreamer, pomyślałem, że powinien istnieć gstreamer1.0pakiet deb, który zawiera wszystkie podstawowe pakiety gstreamer.
— shrx
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.