मैं GStreamer gst-omx कैसे स्थापित कर सकता हूं?


16

पिछले हफ्ते से सबसे कठिन समय रहा है, रास्पबेरी पीआई पर gstreamer के साथ काम करने वाले gst-omx प्लगइन प्राप्त करने की कोशिश कर रहा है।

मुझे आश्चर्य है कि अगर किसी ने यहां किया है और मुझे दिखा सकता है कि कैसे?

मैंने मट्ठा स्थापित कर लिया है क्योंकि git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.gitजरूरत है gstreamer के एक परीक्षण संस्करण की।

Gstreamer रास्पबेरी पर सामान्य प्लगइन्स का उपयोग करके ठीक काम कर रहा है, इसलिए कोई हार्डवेयर त्वरण नहीं है।

एक बार जब मैं gst-omx को स्थापित करता हूं तो यह gstreamer के लिए ब्लैकलिस्ट में आता है और मैं पूरी तरह से फंस जाता हूं क्योंकि मेरा linux ज्ञान बहुत सीमित है इसलिए मेरे लिए डिबगिंग असंभव है।


क्या आप थोड़ा विस्तार कर सकते हैं? क्या काम नहीं करता है?
Jivings

इसके अलावा, क्या आप हमें बता सकते हैं कि आपको इसके लिए क्या चाहिए? शायद एक बेहतर विकल्प है जिसका आप उपयोग कर सकते हैं।
जिविंग्स

2
मुझे बस एक कमांड लाइन वीडियो / ऑडियो प्लेयर की आवश्यकता है। ताकि मेरे कोड के अंदर से मैं कोड को कॉल कर सकूं और इसे मीडिया फाइल की ओर इंगित कर सकूं, इसे प्ले कर दूं फिर कोड में वापस आऊंगा। मुझे लगता है कि मेरे पास यह जटिल है और मुझे hello_audio उदाहरण के साथ hello_video को मर्ज करने की कोशिश करनी चाहिए। मैंने सोचा था कि gstreamer आसान होगा क्योंकि इसकी रूपरेखा OpenIL कोड करने के तरीके सीखने के बजाय है, लेकिन मुझे नहीं लगता कि रूपरेखा अभी तक है।
user185955

मुझे लगता है कि आपको इस सवाल पर ध्यान देने की आवश्यकता है! raspberrypi.stackexchange.com/questions/100/…
Jivings

1
Omxplayer के साथ समस्या यह है कि एक वीडियो को लोड करने में लंबा समय लगता है, जहां hello_video उदाहरण लगभग तुरंत काम करता है। मुझे एक के बाद एक त्वरित उत्तराधिकार में बहुत सारे वीडियो चलाने की आवश्यकता होगी, अगर मुझे omx खिलाड़ी का उपयोग करना था तो मुझे फ़ाइलों के बीच बड़े अंतराल होंगे जो काम नहीं करेंगे। यही कारण है कि मैं gstreamer का उपयोग करना चाहता हूं या किसी तरह hello_audio और hello_video को मर्ज करना चाहता हूं ... क्योंकि बीमार वीडियो को मेरे स्वयं के एन्कोडिंग करते हैं यह हमेशा एक ही कोडेक होगा।
user185955

जवाबों:


8

रास्पबेरी पाई मंच पोस्ट से विवरण

यदि आवश्यक हो तो आरपीआई-अपडेट प्राप्त करें और इंस्टॉल करें

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

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-बुरे के साथ एक संघर्ष है, इसलिए निम्नलिखित ने ब्लैकलिस्टिंग को मंजूरी दे दी:

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

एक anon उपयोगकर्ता के अनुसार, Git शाखा का नाम बदल दिया गया है, इसलिए तहत रास्पबेरी शाखा से प्राप्त जीएसटी-OMX स्रोत , git clone -b raspberryहोना चाहिए git clone -b 0.10। मैंने इसकी पुष्टि नहीं की।
गोल्डीलॉक्स

CSI कैमरा माउड्यूल से nginx-rtmp में वीडियो भेजने के लिए मैं gstreamer का उपयोग कैसे कर सकता हूं ??
विली वॉनका

4

इस रेपो लाइन में जोड़ें /etc/apt/sources.list

deb http://vontaene.de/raspbian-updates/ । मुख्य

फिर बस…।

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

उस 3 पार्टी रिपॉजिटरी को एक सदस्य ने पीई मंचों से होस्ट किया है । वे gst-omx परियोजना के नवीनतम संस्करणों को संकलित करते हैं और वहां फाइलें प्रकाशित करते हैं।

यदि आप इस आदेश का उपयोग करके पाई की हार्डवेयर क्षमताओं को पहचानते हैं तो आप इसकी जांच कर सकते हैं

gst-inspect-1.0 | grep omx

यहाँ छवि विवरण दर्ज करें


1
अब तक की यह सबसे तेज और आसान विधि है। नीचे बताए गए संकलन जैसे अनकले जॉर्ज का जवाब मेरे लिए काम नहीं आया क्योंकि कुछ चित्रण पुराने थे।
पीटीएस

4

अप्रैल 2015 तक रास्पियन रिपॉजिटरी में 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डिबेट पैकेज होना चाहिए जिसमें सभी बुनियादी gstreamer पैकेज शामिल हों।
4x15
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.