Caramba, 1024x1024 a 30 frames por segundo acho que nem o media player aqui consegue hehehe. Pra começar, a taxa de transferência pra sua placa de vídeo tem de ser bem rápida para isso.
Se entendi direito, o que vc quer não é um simples visualizador de imagens, mas sim um tocador desse formato de vídeo né? No java tem uma api que suporta esse tipo de coisa, dependendo do formato do seu vídeo já tem pronto, acho que é java media api.
Mas se não servir, como diria nosso amigo Jack, o estripador, devemos ir por partes:
1º, você precisará criar uma imagem desse tamanho todo, com a profundidade (bits por pixel) desejada. Para isso, recomendo o uso de java.awt.image.BufferedImage
2º, vc deve criar algo que, dado uma stream de dados, leia os dados e transforme-os em uma imagem estática, colocando nesse BufferedImage que foi criado
3º, crie um método que retorne essa imagem estática de um frame que você queira, por exemplo, você passa o número 0 e ele te retorna o frame 0, 1 o frame 1, e assim por diante, com você passando alguma stream também pra ele. ele deverá se posicionar na stream no início do frame e chamar o método criado no passo 2.
4º Depois de implementar estes 3, você já fez 90% do trabalho, depois é só fazer um loop pra ir fazendo isso conforme o tempo passar… provavelmente será necessário pular alguns quadros para alcançar a velocidade de 30 fps, mas é fácil também. Para saber quanto tempo cada quadro deve ser apresentado, é só fazer 1000 / fps que vc tem o número em milisegundos. Aí basta usar alguma rotina que retorne o tempo e fazer as contas…
Espero ter ajudado… flw