Any proper way to force vp8/ vp9 codec instead of h264 for Pixel Streaming?

Hi, does anyone know how to force UE to use vp8/ vp9 codecs instead of h264? I tried to add an argument -PixelStreamingEncoder=vp8 and it doesn’t help. The setting panel in a browser also is useless (set h264 in a game when I chose vp8 before clicking to start).
Is there any way to hardcode it?
Will be thankful for any ideas.

You can do it from the browers directly. Out of the box, if you add this after the url it should start in VP9 Profile 0 direcly:

?PreferredCodec=VP9+profile-id%3D0

Haven’t manage to get any other VP9 profiles working and MaxP/MinP seems to have no effect. However, you can control the data rate with WebRTC.MinBitRate and .MaxBitRate to get a nice and efficient video stream.

@Warner_V, thanks. But the thing you are talking about sets the preferable codec on the client’s side. And I need to do it on the server.

Anyway, it looks like I managed to start with VP8 codec on the server.
Added “-PixelStreamingEncoderCodec=VP8” attribute.
Looks to be working.

So now it looks like this:
-AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888 -PixelStreamingEncoderCodec=VP8

Right. But with out-of-the-box settings, Chrome browsers will re-set that to h264 at login (while FireFox will stay at your selected one)… As far as I can see on testing at least.

Out of curiosity: Why would you want to use VP8 over VP9?

1 Like

Sorry for the late reply.
In my case, Chrome always sets the codec to VP8 when I use attributes.
Answering why do I need it, I just had to do it for the guys who had their project on a virtual machine in the cloud, and with vp8 they got better results with the traffic.