Run PixelStreaming inside windows container

Hi all, I was trying to run PixelStreaming demo in my windows servercore ltsc2022 container, and there’s something wrong.

First, I followed this instruction to package a simple PixelStreaming app (the two chairs empty scene), and could run on my windows machine successfully.

Then, I tried to run it inside a windows ltsc 2022 container.

I pulled unreal image with:

docker pull ghcr.io/epicgames/unreal-engine:runtime-windows-ltsc2022

I then started container with prebuilt Games

docker run --rm -ti --isolation process --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 -v "D:\path\from\host:C:\path\to\container" "my-image-id" powershell

I start the exe inside docker with

.\PixelStreamingDemo.exe -PixelStreamingIP=ip -PixelStreamingPort=8888 -RenderOffScreen

It crashes in WindowsMoviePlayer.cpp

...
if( bLoadSuccessful )
{
    HRESULT Hr = MFStartup(MF_VERSION);
    check(SUCCEEDED(Hr)); /// crash here, Hr is E_NOTIMPL

    MovieStreamer = MakeShareable(new FMediaFoundationMovieStreamer);
    FCoreDelegates::RegisterMovieStreamerDelegate.Broadcast(MovieStreamer);
}
...

According to this reference page, this error happens because Media Foundation is not implemented on the system.

So I then tried to install it with command:

Install-WindowsFeature Server-Media-Foundation

It gave error message below:

Install-WindowsFeature : The request to add or remove features on the specified server failed.
Installation of one or more roles, role services, or features failed.
The source files could not be found.
Use the "Source" option to specify the location of the files that are required to restore the
feature. For more information on specifying a source location, see
https://go.microsoft.com/fwlink/?LinkId=243077. Error: 0x800f081f
At line:1 char:1
+ Install-WindowsFeature Server-Media-Foundation
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (@{Vhd=; Credent...Name=localhost}:PSObject) [Instal
   l-WindowsFeature], Exception
    + FullyQualifiedErrorId : DISMAPI_Error__Failed_To_Enable_Updates,Microsoft.Windows.ServerManage
   r.Commands.AddWindowsFeatureCommand

Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
False   No             Failed         {}

It seems I could try to speficy a source for it, but I cannot find a media foundation source for current version (ltsc2022).

Can anyone help? Many thanks!


My lcoal info:

Host OS: Windows 11 21h2
Container Image: unreal-engine:runtime-windows-ltsc2022
Docker version: v20.10.17
Unreal version: 4.27

By the way, I wonder have anyone run PixelStreaming demo inside windows docker successfully? Could you provide any materials I could follow?

I have seen some successful samples inside linux container, but I was wondering whether it’s okay inside windows container.

Thanks again!