Space for Fakhrul Islam
Breadcrumbs

FAQ (iFrame)

Here is some Frequently Asked Question related to iFrame:


1. Can quality (bitrate) be controlled directly from the iFrame setup?

No, quality (bitrate) cannot be directly controlled through standard iFrame parameters.

Pixel Streaming uses WebRTC, where bitrate and quality are automatically managed by the streaming system. If custom quality controls (e.g., Low / Medium / High) are required, this would need additional frontend logic and deeper integration beyond basic iFrame embedding.



2. What is the difference between Dynamic Resolution and Quality (bitrate)?

Dynamic Resolution and Quality (bitrate) are related but serve different purposes:

  • Dynamic Resolution adjusts the stream resolution (width and height) based on the iFrame size.

  • Quality (bitrate) determines how much data is used to render the stream and is automatically managed by WebRTC.

In simple terms:

  • Resolution affects visual sharpness

  • Bitrate affects compression and stream quality




3. Does Dynamic Resolution also control bitrate/quality?

Not directly.

Dynamic resolution influences bitrate indirectly:

  • Lower resolution → requires lower bitrate

  • Higher resolution → requires higher bitrate

However, actual bitrate control is handled automatically by the Pixel Streaming system based on network conditions.






4. How does auto-quality (adaptive streaming) work in Pixel Streaming?


Pixel Streaming uses WebRTC adaptive streaming to automatically adjust quality based on network conditions:

  • If network conditions worsen → quality drops quickly

  • If network conditions improve → quality increases gradually

This ensures a stable stream and prevents disconnections. However, users with unstable internet connections may notice temporary quality fluctuations.







5. Do we need to configure anything to enable auto-quality?


No additional configuration is required in most cases.

Auto-quality is enabled by default in Pixel Streaming. Using recommended encoder settings allows the system to manage quality efficiently.

You can optionally define a quality range using encoder parameters:

-PixelStreamingEncoderMinQP=1 -PixelStreamingEncoderMaxQP=51


Learn how to pass parameters to your application:

https://docs.eagle3dstreaming.com/wiki/pass-parameters-to-your-app-from-the-new-control-p


Quality Values

Quality

Value

Low

51

Medium

34

High

17

Ultra

1

Note:

  • Lower value → higher quality

  • Higher value → lower quality







6. Should we provide manual quality controls (e.g., Low / Medium / High) to users?

Answer:
This depends on your use case.

Auto-quality (recommended):

  • Simplifies the user experience

  • Automatically adapts to network conditions

  • Keeps the interface clean

Manual controls (optional):

  • Useful in bandwidth-restricted environments

  • Helpful for testing or debugging

For most applications, auto-quality provides the best balance of performance and usability.





7. Can we remove the setting control bar and build our own UI?

Yes.

You can disable the default settings control bar and implement your own custom UI (e.g., buttons for fullscreen or other actions).

Learn how to disable the control bar: https://docs.eagle3dstreaming.com/wiki/settings-control-bar




8. Can we add a custom fullscreen button outside the iFrame?


Yes.

You can implement fullscreen functionality using custom frontend controls or directly within your Unreal Engine application.

Learn more: https://docs.eagle3dstreaming.com/wiki/toggle-fullscreen






9. Does auto-quality affect user experience?


Yes, but generally in a positive way.

Auto-quality improves stability and accessibility. However:

  • Users with unstable internet may experience frequent quality drops

  • Quality recovery can feel slower

Despite this, auto-quality is still the preferred approach for most applications.






10. Can we force a fixed quality level instead of using auto-quality?


Yes.

Yes, this can be controlled using encoder parameters:

-PixelStreamingEncoderMinQP=1 -PixelStreamingEncoderMaxQP=51

To fix a specific quality level, set both values accordingly (see FAQ #5 for reference values).





11. What is the best approach for production applications?


For most production use cases, we recommend:

  • Enable auto-quality (adaptive streaming)

  • Use dynamic resolution

  • Keep the UI simple and user-friendly

  • Avoid unnecessary controls unless required

This approach ensures optimal performance, stability, and user experience.









 


Need help?

🛠️ Contact our Support Team

💬 Join the Community on Discord

🆓 Get Started for free

 

Follow us on:

Facebook | GitHub | LinkedIn | YouTube