views:

148

answers:

2

I'm looking for a Windows library/SDK that will allow me to do the following:

  • Display video from a network stream
  • Draw 2D elements on the displayed image in real time, such as lines, circles, text, etc.
  • Use it in a commercial application (I don't mind paying for it)

I'm willing to use any programming language or environment so there's no specific requirement, except for the Windows OS. Which library/SDK would you recommend considering the requirements from above?

+1  A: 

You can use the VLC one to display video from a network stream.

For 2D elements you can use the Qt framework.

In addition VLC is developped with Qt. So sure to not have problem by using VLC and Qt in your project.

Patrice Bernassola
Is it really possible to use Qt to draw directly on the VLC video?
kshahar
The VLC library allows you to display a video in a QWidget. Then you can do all you want with this QWidget. Assuming you will use the QGraphicsView (that inherits from QWidget), you will have facilities to manage 2D elements.
Patrice Bernassola
Personnaly I would display the video in a QWidget and add a QGraphicsView with a transparent background above.
Patrice Bernassola
A: 

I tried many solutions and found that the best one for me is to use WPF with WPF MediaKit. A video element is placed inside a Canvas, which makes it possible to add other graphic elements on top of the video (basically every WPF UI element).

Although I really tried, I couldn't draw on VLC video using QGraphicsView.

kshahar