As part of our blog, we like to share our recent experience in various industries. Below are two projects that we have worked on in the Media and Entertainment industry.
SDI Graphics Insertion
DSR has recently worked on a project whose purpose was to combine OpenGL application graphics output with 3D video content. High Definition 3D video content was provided real-time as two video streams via Serial Digital Interface (SDI) as unpacked video frames. OpenGL graphics were generated on the fly and the current OpenGL frame corresponding to the current video frame of the 3D content. The output of the combined content was an SDI stream with the same parameters as the input.
One of the projects requirements was to not have more than 1 frame difference between the SDI input and output streams, as well as 2 frame difference between OpenGL output and 3D content.
DSR developed a library that is linked with the OpenGL library and that takes the OpenGL output and combines it with the SDI stream real-time. AJA Corvid44 card was used to work with the SDI functionality. Because this card has a powerful Mixer for video content with Alpha-channel, we were able to use hardware blending that consumed neither CPU nor video card GPU for that operation.
As the project result DSR provided the library with a convenient API, non-blocking architecture and the required differences between input and output frames. Integration of that library did not require any OpenGL application architecture or graphics drawing changes, only slight OpenGL configuration tweaks were required to allow the library to get content in the format it needed.
Another recent project DSR worked on required automation to analyze the online stores TV content for presentation and cost validity. All analysis data, including screenshots of a web page with a particular TV show, had to be inserted into the database to be reviewed by an operator later via an already existing system UI (this is where all analysis work was performed manually in the past).
For this project DSR proposed Selenium technology that allows a web browser to run in a controlled by program environment. Having this technology, a software engineer can emulate TV show searching and its web page analysis, and accessing web page document object model that browser operates using code.
Such an approach can be scaled by having several instances of analysis script with Selenium running, so that can optimize the total analysis time when many TV shows and web stores must be processed.
If you any of this experience is interesting to you or if you have any questions, connect with us at firstname.lastname@example.org