Why don't you just use framebuffer image viewer fbi
?
When you need to "black" out the screens you start it and when you get an input from GPIO you kill the framebuffer and make way for the video?
You can load your blacking image from the console without X but it also works on X if you are running it.
The man page is here - It is pretty powerful especially if you just need it on the console level. You can also look at fim