mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2025-01-11 19:55:25 +00:00
Updated README
This commit is contained in:
parent
85d0c75f9b
commit
2864ef4d99
1 changed files with 27 additions and 20 deletions
|
@ -1,42 +1,49 @@
|
||||||
TODO
|
GStreamer NDI Plugin
|
||||||
====
|
====================
|
||||||
|
|
||||||
See:
|
*Compiled and tested with Ubuntu 16.04.5 and GStreamer 1.8.3*
|
||||||
|
|
||||||
https://coaxion.net/blog/2018/01/how-to-write-gstreamer-elements-in-rust-part-1-a-video-filter-for-converting-rgb-to-grayscale/
|
Before compile the element it's necessary install Rust, NDI SDK and the following packages for gstreamer:
|
||||||
https://coaxion.net/blog/2018/02/how-to-write-gstreamer-elements-in-rust-part-2-a-raw-audio-sine-wave-source/
|
|
||||||
|
|
||||||
Before cargo build install:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
$ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
|
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
|
||||||
gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
|
gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
|
||||||
gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
|
gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
|
||||||
gstreamer1.0-libav libgstrtspserver-1.0-dev
|
gstreamer1.0-libav libgstrtspserver-1.0-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Compile NDI element and basic pipelines
|
||||||
Test
|
|
||||||
-------
|
-------
|
||||||
|
|
||||||
```
|
```
|
||||||
cargo build
|
cargo build
|
||||||
export GST_PLUGIN_PATH=`pwd`/target/debug
|
export GST_PLUGIN_PATH=`pwd`/target/debug
|
||||||
gst-inspect-1.0 ndisrc
|
|
||||||
GST_DEBUG=3 gst-launch-1.0 ndisrc ! video/x-raw, format=UYVY, width=720, height=576, framerate=25/1 ! videoconvert ! autovideosink
|
|
||||||
|
|
||||||
GST_DEBUG=3 gst-launch-1.0 -v ndisrc stream-name="GC-DEV2 (Nombre_del_stream)" ! video/x-raw, format=UYVY, width=720, height=576, framerate=25/1 ! xvimagesink sync=false
|
gst-inspect-1.0 ndi
|
||||||
|
gst-inspect-1.0 ndivideosrc
|
||||||
|
gst-inspect-1.0 ndiaudiosrc
|
||||||
|
|
||||||
|
gst-launch-1.0 ndivideosrc stream-name="GC-DEV2 (OBS)" ! autovideosink
|
||||||
|
gst-launch-1.0 ndiaudiosrc stream-name="GC-DEV2 (OBS)" ! autoaudiosink
|
||||||
|
|
||||||
|
gst-launch-1.0 ndivideosrc stream-name="GC-DEV2 (OBS)" ! autovideosink ndiaudiosrc stream-name="GC-DEV2 (OBS)" ! autoaudiosink
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Debug pipelines:
|
||||||
```
|
```
|
||||||
GST_DEBUG=3 gst-launch-1.0 -v ndisrc ip=10.21.10.103:5961 ! video/x-raw, format=UYVY, width=1920, height=1080, framerate=25/1 ! autovideosink sync=false
|
#Check if the timestamps are correct
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
GST_DEBUG=3 gst-launch-1.0 -v ndisrc stream-name="MINI-DE-TELTEK.OFICINA.TELTEK.ES (NDI Signal Generator)" ! video/x-raw, format=UYVY, width=1920, height=1080, framerate=25/1 ! autovideosink sync=false
|
|
||||||
|
|
||||||
gst-launch-1.0 -v ndivideosrc name=gc-ndi-src stream-name="GC-DEV2 (OBS)" ! autovideosink ts-offset=1000000000
|
|
||||||
gst-launch-1.0 -v ndivideosrc name=gc-ndi-src stream-name="GC-DEV2 (OBS)" ! fakesink silent=false
|
gst-launch-1.0 -v ndivideosrc name=gc-ndi-src stream-name="GC-DEV2 (OBS)" ! fakesink silent=false
|
||||||
|
|
||||||
|
#Debug sink to check if jitter is correct
|
||||||
GST_DEBUG=*basesink*:5 gst-launch-1.0 -v ndivideosrc name=gc-ndi-src stream-name="GC-DEV2 (OBS)" ! autovideosink
|
GST_DEBUG=*basesink*:5 gst-launch-1.0 -v ndivideosrc name=gc-ndi-src stream-name="GC-DEV2 (OBS)" ! autovideosink
|
||||||
|
|
||||||
|
#Add latency when launching the pipeline
|
||||||
|
gst-launch-1.0 -v ndivideosrc name=gc-ndi-src stream-name="GC-DEV2 (OBS)" ! autovideosink ts-offset=1000000000
|
||||||
```
|
```
|
||||||
|
|
||||||
|
More info about GStreamer plugins and Rust:
|
||||||
|
----------------------------------
|
||||||
|
https://coaxion.net/blog/2018/01/how-to-write-gstreamer-elements-in-rust-part-1-a-video-filter-for-converting-rgb-to-grayscale/
|
||||||
|
https://coaxion.net/blog/2018/02/how-to-write-gstreamer-elements-in-rust-part-2-a-raw-audio-sine-wave-source/
|
||||||
|
|
Loading…
Reference in a new issue