Skip to content

autr/unity-notes

Repository files navigation

UnityRenderStreaming

Repository for research into "data-moshing" bug in Unity Render Streaming. Visibly from missing or malformed keyframes or headers (IDR, PPS, SPS) causing predictive-frames to be glitchy. A comparison is made with Unreal4 PixelStreaming (requires signup to Unreal github) which also uses NVIDIA SDK, but does not have this bug.

Example

Notes

Glossary

Codecs:

  • H264 = AVC / MPEG4 Pt.10 (advanced video coding)
  • HEVC = H265 / MPEG-H Pt.2 (high efficiency video coding)
  • VP8 = alt codec, H264 equivalency (google)
  • VP9 = alt codec, H265 equivalency (google)

Properties:

Error Resilience Mechanisms:

NVIDIA API

Official recommendations:

Low-latency use cases like game-streaming, video conferencing etc.

Ultra-low latency or low latency Tuning Info
Rate control mode = CBR
Multi Pass – Quarter/Full (evaluate and decide)
Very low VBV buffer size (e.g. single frame = bitrate/framerate)
No B Frames
Infinite GOP length
Adaptive quantization (AQ) enabled**
Long term reference pictures***
Intra refresh***
Non-reference P frames***
Force IDR***

*: Recommended for low motion games and natural video.

**: Recommended on second generation Maxwell GPUs and above.

***: These features are useful for error recovery during transmission across noisy mediums.

Elsewhere:

High quality Tuning Info
‣ Rate control mode = CBR
‣ Medium VBV buffer size (1 second)
‣ B Frames*
‣ Look-ahead

Unreal

Unreal implementation references:

Other Resources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages