Skip to content
This repository has been archived by the owner on Jul 30, 2022. It is now read-only.
/ ue4-gstreamer Public archive

Render video content to texture via appsink node

License

Notifications You must be signed in to change notification settings

wongfei/ue4-gstreamer

Repository files navigation

UE4 GStreamer plugin

Demo video

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