ฉันจะติดตั้ง GStreamer gst-omx ได้อย่างไร


16

เคยมีช่วงเวลาที่ยากที่สุดในสัปดาห์ที่แล้วพยายามรับปลั๊กอิน gst-omx ที่ทำงานร่วมกับ gstreamer บน Raspberry PI

ฉันสงสัยว่าใครที่นี่ได้ทำและสามารถแสดงให้ฉันได้อย่างไร

ฉันติดตั้งเสียงฮืด ๆ ตามที่git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.gitต้องการ gstreamer รุ่นทดสอบ

Gstreamer ทำงานได้ดีบนราสเบอรี่โดยใช้ปลั๊กอินปกติดังนั้นจึงไม่ต้องมีการเร่งด้วยฮาร์ดแวร์

เมื่อฉันติดตั้ง gst-omx มันจะปรากฏขึ้นในบัญชีดำสำหรับ gstreamer และฉันติดอยู่อย่างสมบูรณ์เนื่องจากความรู้ของลินุกซ์ของฉันมี จำกัด มากดังนั้นการดีบักจึงเป็นไปไม่ได้สำหรับฉัน


คุณอธิบายรายละเอียดเล็กน้อยได้ไหม? อะไรไม่ทำงาน
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-update หากจำเป็น

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

ตามที่ผู้ใช้อานนท์ที่ชื่อสาขาคอมไพล์ที่มีการเปลี่ยนแปลงเพื่อให้อยู่ภายใต้การรับแหล่ง GST-OMX จากสาขาราสเบอร์รี่ , ควรจะเป็นgit clone -b raspberry git clone -b 0.10ฉันไม่ได้ยืนยันสิ่งนี้
goldilocks

ฉันจะใช้ gstreamer เพื่อส่งวิดีโอไปยัง nginx-rtmp จาก moudule CSI Camera ได้อย่างไร?
WillyWonka

4

เพิ่มสายซื้อคืนนี้ลงใน /etc/apt/sources.list

deb http://vontaene.de/raspbian-updates/ หลัก

จากนั้นก็ ....

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

ที่เก็บข้อมูลของบุคคลที่ 3 เป็นเจ้าภาพโดยสมาชิกออกจากฟอรั่ม Pi พวกเขารวบรวมรุ่นล่าสุดของโครงการ gst-omx และเผยแพร่ไฟล์ที่นั่น

คุณสามารถตรวจสอบว่ามันรู้จักความสามารถของฮาร์ดแวร์ของ Pi โดยใช้คำสั่งนี้หรือไม่

gst-inspect-1.0 | grep omx

ป้อนคำอธิบายรูปภาพที่นี่


1
ณ ตอนนี้วิธีที่เร็วและง่ายที่สุด การรวบรวมดังที่อธิบายไว้ด้านล่างในคำตอบของ Unkle George ไม่ได้ผลสำหรับฉันเนื่องจากการพึ่งพาบางอย่างล้าสมัย
PTS

4

ข้อมูล ณ เดือนเมษายน 2558 ที่เก็บ 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ในที่เก็บ ฉันจะเพิ่มได้อย่างไร
ยัก

ไม่มีแพ็คเกจ gstreamer1.0 แต่ apt-get ควรใช้เป็นนิพจน์ทั่วไปและดาวน์โหลดแพ็คเกจ gstreamer1.0 ทั้งหมด ... ไม่apt-cache search ^gstreamer1.0แสดงแพคเกจใด ๆ
M. Rubio-Roy

มันพบแพ็คเกจที่เกี่ยวข้องกับ gstreamer ฉันแค่คิดว่าควรมีgstreamer1.0แพ็คเกจ deb จริงที่รวมแพ็คเกจ gstreamer พื้นฐานทั้งหมด
shrx
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.