Skip to content

Plugin allows to use GStreamer pipelines inside UE4 and output render textures via appsrc node

License

Notifications You must be signed in to change notification settings

rozgo/ue4-gstreamer

 
 

Repository files navigation

UE4 GStreamer plugin

Demo video

Demo video

Getting Started

Tested with UE4 4.21 and GStreamer 1.14.4

Download and install GStreamer binaries and dev files

Edit Plugins\GStreamer\Source\GStreamer\GStreamer.Build.cs

Modify const string GStreamerRoot = @"d:\dev\gstreamer1.14.4\1.0\x86_64" to path where GStreamer installed

Launch project and hit play.

Stream UE4 scene:

Pipeline:

appsrc name=src caps=video/x-raw,width=(int)1920,height=(int)1080,format=(string)BGRA,framerate=(fraction)60/1 ! tcpserversink port=5000 sync=false

Consuming pipeline:

gst-launch-1.0 -v tcpclientsrc host=127.0.0.1 port=5000 ! pngdec ! video/x-raw,format=RGBA ! videoconvert ! videorate ! video/x-raw,framerate=60/1 ! videoscale ! video/x-raw,width=640,height=480 ! fpsdisplaysink

Consume stream

Other example pipelines

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

About

Plugin allows to use GStreamer pipelines inside UE4 and output render textures via appsrc node

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 93.1%
  • C# 5.4%
  • Shell 1.4%
  • C 0.1%