Is SDL a good choice for multi-view video application?

Hi, I am planning a video surveillance system under Linux and hope furture
it can be extended to MS-Windows and MacOS X. Initially, I thought SDL is a
nature choice for video rendering module. But after several days studying
and trying, I found it is a bit difficult.
First, the current SDL 1.2 doesn’t support multiple SDL window and resolve
it by upgrading to the SDL 1.3 pre-release.
And then, I run in trouble in renderring SDL surface on child-window under
Linux.
Besides that, I found the OpenGL(SDL utilizes OpenGL under Linux) is
significantly slower than DirectShow under Window, I am afraid it has the
same problem under Linux.

In conclusion, I want to know whether SDL can render in child widget under
Linux, If yes, how can I do? And if the SDL is the most efficient method to
render video, otherwise, what is the best alternative, I hope it is platform
independent.

One problem you are likely to encounter is that PC hardware in general (maybe always?) only supports one video overlay region per display at a time, so you either need to do all of your views in one
window, entirely as a YCbCr overlay of some format or another, or you have to use OpenGL shaders to convert the video pixel format to RGB.

Performance of multiple OpenGL windows may also be troublesome on some platforms (Windows XP and below come to mind, Windows Vista/7 and Linux and OSX should be fine though).

Generally I’d recommend using one window that contains all of the videos being played back at once, this window can be independent from the user interface.On 09/04/2011 05:28 AM, Hugo Zhang wrote:

Hi, I am planning a video surveillance system under Linux and hope furture it can be extended to MS-Windows and MacOS X. Initially, I thought SDL is a nature choice for video rendering module. But
after several days studying and trying, I found it is a bit difficult.
First, the current SDL 1.2 doesn’t support multiple SDL window and resolve it by upgrading to the SDL 1.3 pre-release.
And then, I run in trouble in renderring SDL surface on child-window under Linux.
Besides that, I found the OpenGL(SDL utilizes OpenGL under Linux) is significantly slower than DirectShow under Window, I am afraid it has the same problem under Linux.

In conclusion, I want to know whether SDL can render in child widget under Linux, If yes, how can I do? And if the SDL is the most efficient method to render video, otherwise, what is the best
alternative, I hope it is platform independent.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


LordHavoc
Author of DarkPlaces Quake1 engine - http://icculus.org/twilight/darkplaces
Co-designer of Nexuiz - http://alientrap.org/nexuiz
"War does not prove who is right, it proves who is left." - Unknown
"Any sufficiently advanced technology is indistinguishable from a rigged demo." - James Klass
"A game is a series of interesting choices." - Sid Meier

Thanks.

It seems that SDL uses the DirectX instead of the OpenGL under Windows. So I
don’t worry about the performance under Windows. Use one window for all
videos maybe an alternative, but I still prefer rendering the video on the
child widget, it is very convenient and user-friendly GUI style.

“Forest Hale” wrote in message news:4E641ED6.5050207 at ghdigital.com

One problem you are likely to encounter is that PC hardware in general
(maybe always?) only supports one video overlay region per display at a
time, so you either need to do all of your views in one
window, entirely as a YCbCr overlay of some format or another, or you have
to use OpenGL shaders to convert the video pixel format to RGB.

Performance of multiple OpenGL windows may also be troublesome on some
platforms (Windows XP and below come to mind, Windows Vista/7 and Linux and
OSX should be fine though).

Generally I’d recommend using one window that contains all of the videos
being played back at once, this window can be independent from the user
interface.On 09/04/2011 05:28 AM, Hugo Zhang wrote:

Hi, I am planning a video surveillance system under Linux and hope furture
it can be extended to MS-Windows and MacOS X. Initially, I thought SDL is
a nature choice for video rendering module. But
after several days studying and trying, I found it is a bit difficult.
First, the current SDL 1.2 doesn’t support multiple SDL window and resolve
it by upgrading to the SDL 1.3 pre-release.
And then, I run in trouble in renderring SDL surface on child-window under
Linux.
Besides that, I found the OpenGL(SDL utilizes OpenGL under Linux) is
significantly slower than DirectShow under Window, I am afraid it has the
same problem under Linux.

In conclusion, I want to know whether SDL can render in child widget under
Linux, If yes, how can I do? And if the SDL is the most efficient method
to render video, otherwise, what is the best
alternative, I hope it is platform independent.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


LordHavoc
Author of DarkPlaces Quake1 engine - http://icculus.org/twilight/darkplaces
Co-designer of Nexuiz - http://alientrap.org/nexuiz
"War does not prove who is right, it proves who is left." - Unknown
"Any sufficiently advanced technology is indistinguishable from a rigged
demo." - James Klass
"A game is a series of interesting choices." - Sid Meier

I tried doing something like that some time ago, and i distinctly
remember that i could render the same video surface on three different
monitors; however it suffered from a bug in the linux opengl
implementation and one later commit broke this feature.

You can find my test program in the bug report here:
http://bugzilla.libsdl.org/show_bug.cgi?id=1129

VittorioOn Mon, Sep 5, 2011 at 5:58 AM, Hugo Zhang wrote:

Thanks.

It seems that SDL uses the DirectX instead of the OpenGL under Windows. So I
don’t worry about the performance under Windows. Use one window for all
videos maybe an alternative, but I still prefer rendering the video on the
child widget, it is very convenient and user-friendly GUI style.

“Forest Hale” ?wrote in message news:4E641ED6.5050207 at ghdigital.com

One problem you are likely to encounter is that PC hardware in general
(maybe always?) only supports one video overlay region per display at a
time, so you either need to do all of your views in one
window, entirely as a YCbCr overlay of some format or another, or you have
to use OpenGL shaders to convert the video pixel format to RGB.

Performance of multiple OpenGL windows may also be troublesome on some
platforms (Windows XP and below come to mind, Windows Vista/7 and Linux and
OSX should be fine though).

Generally I’d recommend using one window that contains all of the videos
being played back at once, this window can be independent from the user
interface.

On 09/04/2011 05:28 AM, Hugo Zhang wrote:

Hi, I am planning a video surveillance system under Linux and hope furture
it can be extended to MS-Windows and MacOS X. Initially, I thought SDL is a
nature choice for video rendering module. But
after several days studying and trying, I found it is a bit difficult.
First, the current SDL 1.2 doesn’t support multiple SDL window and resolve
it by upgrading to the SDL 1.3 pre-release.
And then, I run in trouble in renderring SDL surface on child-window under
Linux.
Besides that, I found the OpenGL(SDL utilizes OpenGL under Linux) is
significantly slower than DirectShow under Window, I am afraid it has the
same problem under Linux.

In conclusion, I want to know whether SDL can render in child widget under
Linux, If yes, how can I do? And if the SDL is the most efficient method to
render video, otherwise, what is the best
alternative, I hope it is platform independent.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


LordHavoc
Author of DarkPlaces Quake1 engine - http://icculus.org/twilight/darkplaces
Co-designer of Nexuiz - http://alientrap.org/nexuiz
"War does not prove who is right, it proves who is left." - Unknown
"Any sufficiently advanced technology is indistinguishable from a rigged
demo." - James Klass
"A game is a series of interesting choices." - Sid Meier


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org