So basically this is what we ended up doing.
First we have the body at 100% width and height.
Then we have a "sticky" container with no width and 100% height.
Then we have the image inside the sticky container so it stretches said container to the width of the image.
The image also has 100% height.
Then we have percentage margin-left or margin-right and width/heights for the buttons. They are floated left and right. They are inside the "sticky" container so they base their movements and sizes off the container which is conveniently sized to the size of the image. Since the proportions are always the same this works well.
1. On IE8 the sticky container sizes to the size of the image before it is resized to the height of the screen. Basically ie8 is broken. For this I have a separate stylesheet where everything is in pixels with an 800px height of the main image. We also have flash fallback for the video now, at the client's request.