Làm cách nào tôi có thể cài đặt GStreamer gst-omx?


16

Đã có thời gian khó khăn nhất trong tuần qua khi cố gắng để plugin gst-omx hoạt động với trình điều khiển trên Raspberry PI.

Tôi tự hỏi nếu có ai ở đây đã làm điều đó và có thể chỉ cho tôi làm thế nào?

Tôi đã cài đặt khò khè khi git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.gitcần một phiên bản thử nghiệm của guxer.

Guxer đang hoạt động tốt trên mâm xôi bằng cách sử dụng các plugin thông thường, do đó không tăng tốc phần cứng.

Khi tôi cài đặt gst-omx, nó sẽ xuất hiện trong danh sách đen cho trình duyệt và tôi hoàn toàn bị mắc kẹt vì kiến ​​thức linux của tôi rất hạn chế nên việc gỡ lỗi là không thể đối với tôi.


Bạn có thể xây dựng một chút? Cái gì không hoạt động?
Jivings

Ngoài ra, bạn có thể cho chúng tôi biết bạn cần cái này để làm gì không? Có lẽ có một sự thay thế tốt hơn bạn có thể sử dụng.
Jivings

2
Tất cả tôi cần là một trình phát video / âm thanh dòng lệnh. Vì vậy, từ bên trong mã của tôi, tôi có thể gọi mã và hướng nó tới một tệp phương tiện, để cho nó phát sau đó quay lại mã. Tôi nghĩ rằng tôi đã quá phức tạp và tôi nên cố gắng hợp nhất hello_video với ví dụ hello_audio. Tôi nghĩ guxer sẽ dễ dàng hơn vì nó là một khung thay vì học cách viết mã OpenIL, nhưng tôi không nghĩ khung đó là tất cả.
dùng185955

Tôi nghĩ những gì bạn cần xem xét là câu hỏi này! raspberrypi.stackexchange.com/questions/100/
Mạnh

1
Vấn đề với omxplayer là phải mất một thời gian dài để tải lên một video, trong đó ví dụ hello_video thực hiện nó gần như ngay lập tức. Tôi sẽ cần phải phát nhiều video liên tiếp nhau, nếu tôi sử dụng trình phát omx, tôi sẽ có những khoảng trống lớn giữa các tệp không hoạt động. Đây là lý do tại sao tôi đang tìm cách sử dụng guxer hoặc bằng cách nào đó hợp nhất hello_audio và hello_video ... Bởi vì tôi sẽ tự mã hóa các video của mình, nó sẽ luôn là cùng một codec.
dùng185955

Câu trả lời:


8

Chi tiết từ bài đăng trên diễn đàn Raspberry Pi

Nhận và cài đặt rpi-update nếu cần thiết

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

Nâng cấp lên các gói và chương trình cơ sở mới nhất

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

Nhận nguồn gst-omx từ nhánh mâm xôi

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

Cài đặt các gói Guxer và các gói cần thiết để xây dựng omx

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

Tự động tạo tập lệnh cấu hình, định cấu hình, tạo và cài đặt gst-omx

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

Thiết lập môi trường gst-omx cho người dùng 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

Cài đặt Công cụ GStreamer

sudo apt-get install gstreamer0.10-tools

Xác minh rằng gst-omx đã được cài đặt chính xác.

Nếu nó có lệnh sau, sẽ hiển thị các trình cắm thêm này:

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

Các vấn đề với trình cắm omxmpeg bị liệt vào danh sách đen

Có mâu thuẫn với omx và guxer-plugins-bad, do đó, sau đây đã xóa danh sách đen:

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

Kích hoạt plugin omxh264enc cho mã hóa phần cứng h.264

Plugin này, cho đến nay, dường như bị hỏng, nhưng đây là cách kích hoạt nó. Thêm phần sau vào $ 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

Theo một người dùng anon, tên nhánh git đã thay đổi, do đó, dưới nguồn Get gst-omx từ nhánh mâm xôi , git clone -b raspberrynên là git clone -b 0.10. Tôi đã không xác nhận điều này.
goldilocks

Làm cách nào tôi có thể sử dụng guxer để gửi video tới nginx-rtmp từ moudule Camera CSI ??
WillyWonka

4

Thêm dòng repo này vào /etc/apt/sources.list

deb http://vontaene.de/raspbian-updates/ . chủ yếu

Vậy thì đơn giản là ....

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

Kho lưu trữ của bên thứ 3 được lưu trữ bởi một thành viên ngoài diễn đàn Pi . Họ biên dịch các phiên bản mới nhất của dự án gst-omx và xuất bản các tệp ở đó.

Bạn có thể kiểm tra xem nó có nhận ra khả năng phần cứng của Pi hay không bằng lệnh này

gst-inspect-1.0 | grep omx

nhập mô tả hình ảnh ở đây


1
Cho đến nay đây là phương pháp nhanh nhất và dễ dàng nhất. Biên dịch như được mô tả dưới đây trong câu trả lời của Unkle George không phù hợp với tôi vì một số phụ kiện đã hết hạn.
PTS

4

Kể từ tháng 4 năm 2015, kho lưu trữ của Raspbian bao gồm GStreamer 1.2 và các plugin OpenMAX, vì vậy cách dễ nhất là câu trả lời của ppumkin nhưng không cần chỉnh sửa /etc/apt/sources.list:

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

sau đó kiểm tra với:

gst-inspect-1.0 | grep omx

Tôi không có gstreamer1.0trong kho lưu trữ. Làm thế nào để tôi thêm nó?
shrx

Không có gói gstreamer1.0 nhưng apt-get nên sử dụng nó như một biểu thức thông thường và tải xuống tất cả các gói gstreamer1.0 .... Có apt-cache search ^gstreamer1.0hiển thị gói nào không?
M. Rubio-Roy

Nó không tìm thấy các gói liên quan đến trình phát, tôi chỉ nghĩ nên có một gstreamer1.0gói gỡ lỗi thực tế bao gồm tất cả các gói trình phát cơ bản.
thu nhỏ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.