Video format for PS4 and PS5?

Hello,

I am trying to convert videos in my game to .ogv from .mp4 as .ogv support all platforms. (including Steam Deck/Linux)

However, as I am getting ready for porting into PS4/5 as well, would .ogv work for PS4 and PS5?

Thank you,

Webm VP8 is the format we support on every platform.

The VP8 is incredibly ruining the video quality.

It looks somewhat alright on Steam Deck (1280x800) but on windows with 1080p or 4k monitor, it is really-really bad even though the original video file is very high resolution.

I tried with different video format to see if VP8 works better but – mp4(VP8), ogv(VP8), webm(VP8) - whenever the Transcode’s Codec is VP8, it ruins the video quality.

I hope to use a codec/video that works for both cases

  1. Windows
  2. Windows - Steam Deck.
    Otherwise, I need to create 2 builds every time I have update with 2 different video sets just because VP8’s quality…

I am on Unity 2020.3.42f1, any suggestions?

You can override the transcoding codec for each platform. When you install the PS4 and PS5 Unity add-ons you should have platform-specific options for each.

I don’t think there is platform-specific option for Steam Deck.
If I use mp4, it should be all good (including PS4 and PS5) except SteamDeck. VP8 is the question that I am asking. And trying to avoid building a total complete separate build just for SteamDeck.

I think we all agree that this is not a solution.

I know people reported that the files were extremely large for no reason which I am working on fixing right now. But generally, the video quality should be pretty high. In fact, it is partly why they are so large. Can you share the original file so I can check on my side? You can upload it somewhere and give me a link in DM. Also, can you share your transcoding settings?

Right now, the Unity transcoder doesn’t provide a lot of control over the quality. So in your case, I would change the setting in the software you used to encode your files or use FFmpeg to transcode it yourself. Here are some commands in FFmpeg:

ffmpeg -i input4k.mp4 -c:v libvpx -b:v 30M -crf 10 -c:a libvorbis output_4k.webm // Convert 4k to 4k
ffmpeg -i input4k.mp4 -c:v libvpx -b:v 8M -crf 20 -vf scale=1920:1080 -c:a libvorbis output_1080p.webm // Convert 4k to 1080p
ffmpeg -i input4k.mp4 -c:v libvpx -b:v 5M -crf 25 -vf scale=1280:720 -c:a libvorbis output_720p.webm // Convert 4k to 720p
ffmpeg -i input4k.mp4 -c:v libvpx -b:v 2M -crf 30 -vf scale=640:480 -c:a libvorbis output_480p.webm // Convert 4k to 480p

These are for 30 fps clips so if your clip is 60 fps, double the bitrate (ex. 30M to 60M). Tweek the -b:v and -crf to increase and decrease the quality and the size of your video.

So this is screen capture of Transcode info.
If I make the Codec to be h264, the video plays the quality which is expected but does not work on Steam Deck.
If I make the Codec to be VP8, the video plays very bad/low quality but it plays both on Windows / Steam Deck.