Qt World Summit: Register Today!

Multimedia Framework Hardware Capture, Play, Tv Out (Option Feasibility) :

  • Hello All

    Am new to Qt and have a 3.5 yrs experience in C#.Net programming and little experience in C++. I work for a company which develops software for Tv channel broadcasters.
    Currently we use a 3rd party Sdk (propriety) written in DirectX and make API calls for playing files. Using VLC or Windows Media Player components are out of scope because they do not give a frame level control on the video file and there are many pitfalls (like I cannot capture and output video, I cannot overlay, there is visible black frame between 2 files playing back to back, etc.). I want to write a library for the same which should be platform independent (and even porting to embedded devices should be easy). I plan for a personal project (most probably open source but not sure).

    My basic requirements are :

    Capture live video feed (using a hardware card like Blackmagic or Hauppauge or MpegIO or AJA - any card) and show a preview.

    Overlay images, text, banners (flash .swf files), show animations (crawls & tickers) and show a preview.

    Also play locally stored video files and toggle between input feed and local play.

    Play any kind of audio video file (like a DVD player (so how will I get the codecs)) ?

    Output the video to another hardware card from where it goes to the Tv or broadcasting machine.

    Record (either playing video or the input feed video) to a file.

    Frame level control on the video feed.

    Stream video feed to any url by a set of protocols.

    I have seen Qt multimedia framework documents (and how it supersedes phonon framework).

    Questions :

    Can I achieve this using Qt (4.8 or may be later versions even) ? Is it in the scope of Qt multimedia framework ?

    Can I access hardware (input and output cards) to read and write video stream in realtime using Qt ?

    How difficult will it be ?

    Can I later port my code to some embedded device with Android OS or any other OS (hardware peripheral interfaces will change but functionality will be same) ?

    Please reply, as this will be critical if I learn Qt.

    -- Sincere Regards

    Akshay Mishra 

    [Moved to General and Desktop, since it wasn't related to any particular Qt tool. -mlong]

  • Hi
    Do you find the solution?
    How do you read video from card capture?

  • Hi jmimi
    No, I did not find (also did not try - to my satisfaction) any open source solutions.
    All hardware cards come with drivers - which enable memory buffers from where the card input can be read. So all card output (to be sent out by our program) are written to output-buffer and the card driver reads and delegates it - all input captured by card is written to the input-buffers and the card driver can be asked to read and relay it. This task is implemented in DirectX.
    We bought a 03rd party library (.Net wrapper over COM) for this task.

    The same can be achieved by open-cv and hardware's native libraries.

  • Thanks a lot for comprehensive response

Log in to reply