Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to write a audio - video playout engine using C#.Net and DirectX (comprehensive analysis)?
    text
    copied!<p><strong>Premise :</strong> </p> <p>I work for a broadcast solution company and we buy the playout sdk from an external vendor, this reduces our burden of video load, rendering, play, etc. It provides us with numerous features like character generator, overlaying image, text, flash (*.swf) files, streaming, etc. We mostly focus on application development (not technology development). So we make simple API calls from our C# code to the SDK DLLs like play, pause, seak, overlay, etc. and it makes our lives easy. </p> <p>Meanwhile we also face issues because the sdk is provided by a 3rd party in another country and so the quality of support depends upon them. Also the feature addition done by them is of generic nature and they give a new release every fortnight. Their code has lots of bugs. We also face licensing issues even when we have bought their full product. </p> <hr> <p><strong>Requirements :</strong></p> <ol> <li>We want to evaluate the option of writing our own playout / rendering engine - initially with bare minimum features but in the long run we would add more features to it like overlaying an image or text or flash swf file, seeking, fast forward, etc. </li> <li>We also take live input feed from hardware devices and send the video feed out to Tv through hardware devices and record live feeds on disk. We switch between live input and locally stored video files.</li> <li>We need to play all kinds of videos (quick time, mp4, flv, etc.) so we will also depend upon 3rd party codecs. </li> <li>We can use different hardware cards for input and output and will need to iterate through and get the available hardware configuration. </li> <li>We work on C# and we have experienced developers on C# and we do not want to use C++ for development as we do not have a C++ expert in our company currently.</li> </ol> <hr> <p><strong>Questions :</strong></p> <ol> <li>What should be our approach - can we write a playout with mentioned features using pure C# and DirectX 11 (is it the right way or some other better way exists) ?</li> <li>How easy or difficult is it to achieve the same (it is a subjective question - a subjective answer would suffice) ?</li> <li>Is a well written C# code slower than a C++ code (with respect to DirectX and media playout where I may need to deliver up to 30 video frames per second for NTSC standards) ?</li> <li>What is a good way (resource) to start it (including the concepts and coding)?</li> </ol> <p>It is a comprehensive question but you expert advise will make my direction and progress easy. </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload