ue4-gstreamer
ue4-gstreamer copied to clipboard
Render video content to texture via appsink node
UE4 GStreamer plugin
Getting Started
Tested with UE4 4.26 and GStreamer 1.18.4
Download and install GStreamer runtime and development packages
Edit Plugins\GStreamer\Source\GStreamer\GStreamer.Build.cs
Modify const string GStreamerRoot = @"C:\gstreamer_development\1.0\msvc_x86_64" to path where development package installed
Set environment variable GSTREAMER_ROOT=C:\gstreamer_runtime\1.0\msvc_x86_64 to path where runtime package installed
Launch project and hit play
AppSink examples
Test pattern:
videotestsrc pattern=snow ! video/x-raw,width=(int)512,height=(int)512,format=(string)RGBA,framerate=(fraction)30/1 ! appsink name=sink
Play a local file:
filesrc location=d:/video/doom.mp4 ! decodebin ! videoconvert ! video/x-raw,format=(string)RGBA ! videoconvert ! appsink name=sink
Play URI:
uridecodebin uri=http://images.nvidia.com/geforce-com/international/videos/doom/doom-nvidia-geforce-gtx-geforce-dot-com-vulkan-graphics-api-gameplay-video.mp4 ! videoconvert ! video/x-raw,format=(string)RGBA ! videoconvert ! appsink name=sink
AppSrc examples
Capture and stream render target:
appsrc name=src caps=video/x-raw,width=(int)640,height=(int)480,format=(string)BGRA,framerate=(fraction)60/1 ! tcpserversink host=127.0.0.1 port=5000 sync=false
Preview stream:
gst-launch-1.0 -v tcpclientsrc host=127.0.0.1 port=5000 ! videoparse width=640 height=480 framerate=60/1 format=8 ! autovideoconvert ! autovideosink
