Как я могу установить GStreamer gst-omx?

16

На прошлой неделе у нас были самые трудные времена, когда плагин gst-omx работал с gstreamer на Raspberry PI.

Интересно, кто-нибудь здесь сделал это и мог бы показать мне, как?

Я установил wheezy, так как git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.gitтребуется тестовая версия gstreamer.

Gstreamer отлично работает на малине, используя обычные плагины, поэтому аппаратного ускорения нет.

Как только я установил gst-omx, он попал в черный список для gstreamer, и я полностью застрял, так как мои знания Linux очень ограничены, поэтому отладка для меня невозможна.

user185955
источник
Можете ли вы уточнить немного? Что не работает?
Jivings
Кроме того, вы можете сказать нам, для чего вам это нужно? Возможно, есть лучшая альтернатива, которую вы могли бы использовать.
Jivings
2
Все, что мне нужно, это видео / аудио плеер командной строки. Так что внутри моего кода я могу вызвать код и указать его на файл мультимедиа, дать ему воспроизвести и вернуться к коду. Я думаю, что я слишком усложнил это, и я должен попытаться объединить hello_video с примером hello_audio. Я думал, что gstreamer будет легче, потому что это фреймворк вместо того, чтобы учиться кодировать OpenIL, но я не думаю, что фреймворк еще не все
user185955
Я думаю, что вам нужно посмотреть на этот вопрос! raspberrypi.stackexchange.com/questions/100/…
Jivings
1
Проблема с omxplayer заключается в том, что загрузка видео занимает много времени, тогда как в примере с hello_video это происходит практически мгновенно. Мне нужно будет проигрывать много видео подряд один за другим, если бы я использовал omx player, у меня были бы большие промежутки между файлами, которые не будут работать. Вот почему я пытаюсь использовать gstreamer или как-то объединить hello_audio и hello_video ... Поскольку я сам буду кодировать видео, это всегда будет один и тот же кодек.
user185955

Ответы:

8

Подробности из сообщения на форуме Raspberry Pi

При необходимости получите и установите 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

Обновление до последних пакетов и прошивок

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 

Автоматически сгенерируйте скрипт настройки, настройте, создайте и установите gst-omx

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

Настройте среду gst-omx для пользователя 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

Установите инструменты 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

Включить подключаемый модуль omxh264enc для аппаратного кодирования h.264

Пока что этот плагин не работает, но вот как его включить. Добавьте следующее в $ 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
Unkle George
источник
В соответствии с пользователем Анон, имя мерзавец филиал изменилось, так что под Получить GST-Omx источник в отрасли малиновый , git clone -b raspberryдолжно быть git clone -b 0.10. Я не подтвердил это.
Златовласка
Как я могу использовать gstreamer для отправки видео на nginx-rtmp из модуля CSI Camera ??
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 и публикуют там файлы.

Вы можете проверить, распознал ли он аппаратные возможности Пи, используя эту команду

gst-inspect-1.0 | grep omx

введите описание изображения здесь

Петр Кула
источник
1
На данный момент это самый быстрый и простой способ. Компиляция, как описано ниже в ответе Unkle George, не сработала для меня, так как некоторые зависимости устарели.
PTS
4

По состоянию на апрель 2015 года репозитории 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Показывает ли какие-либо пакеты?
М. Рубио-Рой
Он находит пакеты, связанные с gstreamer, я просто подумал, что должен быть настоящий gstreamer1.0пакет deb, включающий все основные пакеты gstreamer.
Shrx