bharling
04-02-2009 18:43:59
Hi folks,
I've been trying to get HD video playing in Python-Ogre and am hitting a bit of a wall. ( it was one of those moments at work when your boss says, 'nearly there, now we just need to add full hd video and we're laughing..' )
So, I've got my video playing the same as the theora demo, and successfully added it as an overlay to my app, but the framerate was a bit shonky with a 720p source. Since that point I managed to implement what the theora wiki recommends, and do the YUV->RGB conversion in a pixel shader, however it doesn't work.
I'm pretty sure the shader is correct as its pretty much identical to the theora example, and i get no compile errors. I'm using the material script here: http://www.ogre3d.org/wiki/index.php/TheoraVideoPlugin_Materials modified to look like:
With this material I just get a solid green, but by tweaking the shader I can see that something is being passed to it, but its not the video source.
So my questions are:
Basically all I need to do is find a way to output just the raw YUV source from theora?
Alternatively - is OgreFFMPEG still around?
Alternative even to that, can anyone think of a good quick workaround? the deadline train is approaching I have already tried shelling out to VLC which works fine if my app is windowed, but causes a world of pain if its fullscreen ( which of course, it needs to be ), with plenty of DirectX problems, and once the accursed BSOD.
any help very much appreciated,
cheerz!
I've been trying to get HD video playing in Python-Ogre and am hitting a bit of a wall. ( it was one of those moments at work when your boss says, 'nearly there, now we just need to add full hd video and we're laughing..' )
So, I've got my video playing the same as the theora demo, and successfully added it as an overlay to my app, but the framerate was a bit shonky with a 720p source. Since that point I managed to implement what the theora wiki recommends, and do the YUV->RGB conversion in a pixel shader, however it doesn't work.
I'm pretty sure the shader is correct as its pretty much identical to the theora example, and i get no compile errors. I'm using the material script here: http://www.ogre3d.org/wiki/index.php/TheoraVideoPlugin_Materials modified to look like:
material SimpleVideo
{
technique
{
pass
{
fragment_program_ref std_vert
{
}
vertex_program_ref yuv_to_rgb_cg
{
}
texture_unit
{
texture_source ogg_video
{
filename clip.ogg
precache 16
play_mode play
output yuv
}
}
}
}
}
With this material I just get a solid green, but by tweaking the shader I can see that something is being passed to it, but its not the video source.
So my questions are:
Basically all I need to do is find a way to output just the raw YUV source from theora?
Alternatively - is OgreFFMPEG still around?
Alternative even to that, can anyone think of a good quick workaround? the deadline train is approaching I have already tried shelling out to VLC which works fine if my app is windowed, but causes a world of pain if its fullscreen ( which of course, it needs to be ), with plenty of DirectX problems, and once the accursed BSOD.
any help very much appreciated,
cheerz!