Bagaimana saya bisa menginstal GStreamer gst-omx?

16

Telah mengalami waktu terberat selama seminggu terakhir mencoba membuat plugin gst-omx bekerja dengan gstreamer di Raspberry PI.

Saya ingin tahu apakah ada orang di sini yang telah melakukannya dan dapat menunjukkan kepada saya bagaimana caranya?

Saya telah menginstal wheezy karena git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.gitmemerlukan versi pengujian gstreamer.

Gstreamer bekerja dengan baik pada raspberry menggunakan plugin normal, jadi tidak ada akselerasi perangkat keras.

Setelah saya menginstal gst-omx muncul di daftar hitam untuk gstreamer dan saya benar-benar macet karena pengetahuan linux saya sangat terbatas sehingga debugging tidak mungkin bagi saya.

pengguna185955
sumber
Bisakah Anda sedikit menjelaskan? Apa yang tidak berhasil?
Jivings
Juga, dapatkah Anda memberi tahu kami untuk apa Anda membutuhkannya? Mungkin ada alternatif yang lebih baik yang bisa Anda gunakan.
Jivings
2
Yang saya butuhkan adalah pemutar video / audio baris perintah. Sehingga dari dalam kode saya, saya bisa memanggil kode dan mengarahkannya ke file media, biarkan diputar kemudian kembali ke kode. Saya pikir saya memiliki lebih dari itu rumit dan saya harus mencoba untuk menggabungkan hello_video dengan contoh hello_audio. Saya pikir gstreamer akan lebih mudah karena kerangka daripada belajar bagaimana kode OpenIL, tapi saya pikir kerangka belum ada di sana.
user185955
Saya pikir yang perlu Anda perhatikan adalah pertanyaan ini! raspberrypi.stackexchange.com/questions/100/…
Jivings
1
Masalah dengan omxplayer adalah membutuhkan waktu lama untuk memuat video, sedangkan contoh hello_video melakukannya hampir secara instan. Saya perlu memutar banyak video secara berurutan satu demi satu, jika saya menggunakan omx player, saya akan memiliki celah besar di antara file yang tidak berfungsi. Inilah sebabnya saya mencari untuk menggunakan gstreamer atau entah bagaimana menggabungkan hello_audio dan hello_video ... Karena saya tidak dapat meng-encode video saya sendiri maka selalu ada codec yang sama.
user185955

Jawaban:

8

Detail dari posting forum Raspberry Pi

Dapatkan dan instal pembaruan-rpi jika perlu

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

Tingkatkan ke paket dan firmware terbaru

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

Dapatkan sumber gst-omx dari cabang raspberry

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

Instal paket Gstreamer, dan paket yang diperlukan untuk membangun omx

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

Buat otomatis skrip konfigurasi, konfigurasikan, buat, dan instal gst-omx

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

Atur lingkungan gst-omx untuk pengguna 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

Instal Alat GStreamer

sudo apt-get install gstreamer0.10-tools

Pastikan gst-omx telah diinstal dengan benar.

Jika memiliki perintah berikut harus menunjukkan plug-in ini:

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

Masalah dengan plug-in omxmpeg menjadi daftar hitam

Ada konflik dengan omx dan gstreamer-plugins-bad, jadi yang berikut menghapus daftar hitam:

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

Aktifkan plugin omxh264enc untuk perangkat keras h.264 Pengkodean

Plugin ini, sejauh ini, tampaknya rusak, tetapi inilah cara mengaktifkannya. Tambahkan berikut ini ke $ 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
sumber
Menurut pengguna anon, nama cabang git telah berubah, jadi di bawah Dapatkan sumber gst-omx dari cabang raspberry , git clone -b raspberryseharusnya git clone -b 0.10. Saya tidak mengkonfirmasi ini.
goldilocks
Bagaimana saya bisa menggunakan gstreamer untuk mengirim video ke nginx-rtmp dari moudule CSI Camera ??
WillyWonka
4

Tambahkan baris repo ini ke /etc/apt/sources.list

deb http://vontaene.de/raspbian-updates/ . utama

Maka cukup ....

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

Repositori pihak ke-3 di-host oleh anggota dari forum Pi . Mereka mengkompilasi versi terbaru dari proyek gst-omx dan mempublikasikan file di sana.

Anda dapat memeriksa apakah ia mengenali kemampuan perangkat keras Pi menggunakan perintah ini

gst-inspect-1.0 | grep omx

masukkan deskripsi gambar di sini

Piotr Kula
sumber
1
Sampai sekarang ini metode tercepat dan termudah. Kompilasi seperti dijelaskan di bawah ini dalam jawaban Unkle George tidak bekerja untuk saya karena beberapa keadaan kedaluwarsa.
PTS
4

Pada April 2015 repositori Raspbian termasuk GStreamer 1.2 dan plugin OpenMAX, jadi cara termudah adalah jawaban ppumkin tetapi tanpa mengedit /etc/apt/sources.list:

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

kemudian periksa dengan:

gst-inspect-1.0 | grep omx
M. Rubio-Roy
sumber
Saya tidak punya gstreamer1.0di repositori. Bagaimana saya menambahkannya?
shrx
Tidak ada paket gstreamer1.0 tetapi apt-get harus menggunakannya sebagai ekspresi reguler dan mengunduh semua paket gstreamer1.0 ... Apakah apt-cache search ^gstreamer1.0menunjukkan paket?
M. Rubio-Roy
Itu memang menemukan paket terkait gstreamer, saya hanya berpikir harus ada gstreamer1.0paket deb aktual yang mencakup semua paket dasar gstreamer.
shrx