Viendo que nadie ha podido ayudarme pongo la solución que he terminado encontrando:
He creado un div que lo engloba todo y le he puesto lo siguiente:
Código:
#marco {
width: 100vw;
height: 56.25vw;
/* 100/56.25 = 1.778 */
max-height: 100vh;
max-width: 177.78vh;
/* 16/9 = 1.778 */
margin: auto;
position: absolute;
/* Centrado vertical */
top: 0;
bottom: 0;
/* Centrado horizontal */
left: 0;
right: 0;
}
Con eso obtienes un cuadro que siempre se mantiene en 16:9 y ajustado a la pantalla
Espero que le sirva a otros