You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
This commit adds the framework APIs, editor and rendering features needed to support live streaming. Along with this, we're working on a new plugin that adds Twitch.tv support (waiting for legal approval to commit.)
- Game live streaming
- Allows general support for live internet streaming of game video and audio
- Web cam video feed can be overlaid onto game viewports automatically
- New 'Broadcast' Blueprint function library allows you to easily start broadcasting from your game
- New IGameLiveStreaming API that allows you to start broadcasting through C++
- Editor live streaming
- The editor UI now displays a "broadcast" button automatically when a live streaming service is available
- Broadcasting of all desktop editor windows is supported (configured in preferences)
- If you have a web cam, video will be displayed automatically while broadcasting in a new editor window
- New "Live Streaming" editor preference tab with many new settings for configuring broadcasting
- New IEditorLiveStreaming API that lets you control editor broadcasting directly, if needed
- Added new 'Broadcast.Start' and 'Broadcast.Stop' console commands
- These allow you to easily test live streaming in games without writing UI code
- Built-in help is available for these new commands
- To implement a live streaming plugin:
- Inherit from the new ILiveStreamingService interface
- Register your "LiveStreaming" feature with the IModularFeatures system
- Other changes:
- Eliminated broken screen quad drawing functions; replaced with publicly-exposed DrawRectangle()
- Slate: Eliminated legacy code for 'marking windows as drawn' (not used anymore)
- Slate: Added Slate rendering callback to find out when a frame buffer is ready to be presented
[CL 2115377 by Mike Fricker in Main branch]
52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
|
|
#include "GameLiveStreamingModule.h"
|
|
#include "GameLiveStreamingFunctionLibrary.h"
|
|
#include "Public/IGameLiveStreaming.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "GameLiveStreaming"
|
|
|
|
|
|
UGameLiveStreamingFunctionLibrary::UGameLiveStreamingFunctionLibrary( const FPostConstructInitializeProperties& PCIP )
|
|
: Super(PCIP)
|
|
{
|
|
}
|
|
|
|
|
|
bool UGameLiveStreamingFunctionLibrary::IsBroadcastingGame()
|
|
{
|
|
return IGameLiveStreaming::Get().IsBroadcastingGame();
|
|
}
|
|
|
|
|
|
void UGameLiveStreamingFunctionLibrary::StartBroadcastingGame(
|
|
int32 FrameRate,
|
|
float ScreenScaling,
|
|
bool bEnableWebCam,
|
|
int32 DesiredWebCamWidth,
|
|
int32 DesiredWebCamHeight,
|
|
bool bCaptureAudioFromComputer,
|
|
bool bCaptureAudioFromMicrophone,
|
|
bool bDrawSimpleWebCamVideo )
|
|
{
|
|
FGameBroadcastConfig Config;
|
|
Config.FrameRate = FrameRate;
|
|
Config.ScreenScaling = ScreenScaling;
|
|
Config.bEnableWebCam = bEnableWebCam;
|
|
Config.DesiredWebCamWidth = DesiredWebCamWidth;
|
|
Config.DesiredWebCamHeight = DesiredWebCamHeight;
|
|
Config.bCaptureAudioFromComputer = bCaptureAudioFromComputer;
|
|
Config.bCaptureAudioFromMicrophone = bCaptureAudioFromMicrophone;
|
|
Config.bDrawSimpleWebCamVideo = bDrawSimpleWebCamVideo;
|
|
IGameLiveStreaming::Get().StartBroadcastingGame( Config );
|
|
}
|
|
|
|
|
|
void UGameLiveStreamingFunctionLibrary::StopBroadcastingGame()
|
|
{
|
|
IGameLiveStreaming::Get().StopBroadcastingGame();
|
|
}
|
|
|
|
|
|
|
|
#undef LOCTEXT_NAMESPACE
|