Como posso instalar o GStreamer gst-omx?


16

Durante a semana passada, tive os momentos mais difíceis tentando fazer com que o plugin gst-omx trabalhasse com o gstreamer no Raspberry PI.

Gostaria de saber se alguém aqui fez isso e poderia me mostrar como?

Instalei o wheezy conforme a git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.gitnecessidade de uma versão de teste do gstreamer.

O Gstreamer está funcionando bem na framboesa usando os plugins normais, portanto, não há aceleração de hardware.

Depois de instalar o gst-omx, ele aparece na lista negra do gstreamer e estou completamente paralisado, pois meu conhecimento do Linux é muito limitado, portanto a depuração é impossível para mim.


Você pode elaborar um pouco? O que não funciona?
Jivings

Além disso, você pode nos dizer para que precisa disso? Talvez haja uma alternativa melhor que você possa usar.
Jivings

2
Tudo o que preciso é de um player de vídeo / áudio em linha de comando. Para que, de dentro do meu código, eu possa chamá-lo e apontá-lo para um arquivo de mídia, deixá-lo tocar e retornar ao código. Eu acho que o complicou demais e eu deveria estar tentando mesclar o hello_video com o exemplo hello_audio. Eu pensei que o gstreamer seria mais fácil porque é uma estrutura em vez de aprender a codificar OpenIL, mas eu não acho que a estrutura ainda esteja lá.
user185955

Eu acho que você precisa olhar para esta questão! raspberrypi.stackexchange.com/questions/100/...
Jivings

1
O problema com o omxplayer é que leva muito tempo para carregar um vídeo, enquanto o exemplo hello_video faz isso quase que instantaneamente. Vou precisar reproduzir muitos vídeos em sucessão rápida, um após o outro, se eu fosse usar o omx player, teria grandes lacunas entre os arquivos que não funcionam. É por isso que estou procurando usar o gstreamer ou, de alguma forma, mesclar hello_audio e hello_video ... Porque mal codificarei os vídeos por mim mesmo, sempre será o mesmo codec.
user185955

Respostas:


8

Detalhes da publicação no fórum do Raspberry Pi

Obtenha e instale o rpi-update, se necessário

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

Atualize para os pacotes e firmware mais recentes

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

Obtenha a fonte gst-omx do ramo de framboesa

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

Instale os pacotes Gstreamer e os pacotes necessários para criar o omx

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

Gere automaticamente o script configure, configure, faça e instale gst-omx

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

Configure o ambiente gst-omx para o usuário 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

Instale as ferramentas do GStreamer

sudo apt-get install gstreamer0.10-tools

Verifique se o gst-omx foi instalado corretamente.

Se tiver o seguinte comando, deverá mostrar estes plug-ins:

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

Problemas com plug-ins omxmpeg na lista negra

Há um conflito com omx e gstreamer-plugins-bad, portanto, a seguir, limpei a lista negra:

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

Ativar o plug-in omxh264enc para codificação de hardware h.264

Até agora, este plug-in parece estar quebrado, mas aqui está como ativá-lo. Adicione o seguinte a $ 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

De acordo com um usuário anon, o nome da ramificação git mudou; portanto, em Obter fonte gst-omx da ramificação raspberry , git clone -b raspberrydeve ser git clone -b 0.10. Eu não confirmei isso.
goldilocks

Como posso usar o gstreamer para enviar vídeo para o nginx-rtmp a partir do moudule da câmera CSI?
WillyWonka

4

Adicione esta linha de repo ao /etc/apt/sources.list

deb http://vontaene.de/raspbian-updates/ . a Principal

Então simplesmente ....

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

Esse repositório de terceiros é hospedado por um membro dos fóruns do Pi . Eles compilam as versões mais recentes do projeto gst-omx e publicam os arquivos lá.

Você pode verificar se ele reconheceu os recursos de hardware do Pi usando este comando

gst-inspect-1.0 | grep omx

insira a descrição da imagem aqui


1
A partir de agora, este é o método mais rápido e fácil. Compilar como descrito abaixo na resposta de Unkle George não funcionou para mim, pois algumas representações estavam desatualizadas.
PTS

4

A partir de abril de 2015, os repositórios Raspbian incluem o GStreamer 1.2 e os plugins OpenMAX; portanto, a maneira mais fácil é a resposta do ppumkin, mas sem edição /etc/apt/sources.list:

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

depois verifique com:

gst-inspect-1.0 | grep omx

Eu não tenho gstreamer1.0no repositório. Como adiciono?
shrx

Não existe um pacote gstreamer1.0, mas o apt-get deve usá-lo como uma expressão regular e baixar todos os pacotes gstreamer1.0 .... Não apt-cache search ^gstreamer1.0exibirá qualquer pacote?
Rubio-Roy

Ele encontra pacotes relacionados ao gstreamer, eu apenas pensei que deveria haver um gstreamer1.0pacote deb real que incluísse todos os pacotes básicos do gstreamer.
shrx
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.