Hello everyone,
I am currently working on a project that involves capturing the screen content of a Samsung TV running Tizen OS in real-time and transmitting the color information to a connected Hyperion server for ambient lighting purposes. Here is a summary of what I have achieved so far and the challenges I am facing:
What I've Achieved:
- Capturing Video Content:
I successfully implemented a web app that captures the content of a video playing within the app and transmits it to the Hyperion server with minimal latency. This ensures smooth and real-time color capture from the video content.
- Real-time Transmission:
The captured video frames are processed and sent to the Hyperion server efficiently, providing a seamless ambient lighting experience based on the video content.
Challenges:
- Web App Limitation:
The current solution is limited to capturing content within the web app. My goal is to capture the entire screen content of the TV, including when the web app is not in focus or running.
- Permission Issues:
When attempting to use certain APIs (e.g., captureScreen), I encounter permission errors. This is despite setting the necessary privileges in the config.xml file.
- Alternative Solutions:
I am exploring alternative methods such as using low-level graphics APIs (OpenGL, Vulkan) or other native capabilities to achieve screen capture. However, guidance on the best approach to start with would be highly appreciated.
Goals:
- I aim to capture the color information from the borders of the TV screen in real-time, regardless of the running application or TV state.
- The solution should work continuously and efficiently without requiring constant user intervention.
Questions:
- Best Approach for Screen Capture:
What is the recommended method for capturing the entire screen content on a Tizen TV? Are there specific APIs or permissions I need to be aware of?
- Using Low-level Graphics APIs:
How feasible is it to use OpenGL or Vulkan for capturing screen content? Are there any examples or documentation that could help me get started?
- Handling Permissions:
How can I overcome permission issues when trying to access screen content? Are there specific settings or privileges that need to be configured?
Any guidance, documentation, or examples would be immensely helpful. Thank you in advance for your assistance!