Reprodução de vídeo em jogos - formatos e decodificação

8

Quais soluções de código aberto gratuitas / não restritivas (e não GPL) estão disponíveis para decodificar vídeos de jogos?

Os requisitos são simples:

  • uma API C relativamente fácil de usar
  • arquivos codificados devem ser bem pequenos
  • deve haver um aplicativo que converta vídeos de qualquer formato (qualquer codec instalado no Windows ou quantidade equivalente de formatos decodificados internamente)
  • decodificação tem que acontecer rapidamente
  • os pontos de bônus vão para formatos de arquivo populares / ativamente suportados e desenvolvidos
snake5
fonte
11
Deveria funcionar no Windows, Windows Phone, Mac, Linux, Android, iPhone / iPad ou outra coisa?
Roy T.
@RoyT. É apenas decodificação, para que não haja problemas com as plataformas. Mas a principal plataforma em que trabalho atualmente é o Windows (XP / Vista / 7), se é isso que você queria saber.
snake5
Ah, sim, eu realmente queria perguntar em quais plataformas o filme deveria ser visualizado.
Roy T.

Respostas:

5

O FFmpeg permite decodificar todos os tipos de dados de áudio e vídeo, graças ao libavcodec. A maior parte é licenciada sob a LGPL, que permite o uso comercial, mas algumas partes estão sob a GPL e outras podem infringir patentes .

Você pode evitar problemas legais usando o formato Ogg gratuito (mantido pela fundação Xiph.org ), provavelmente com o Vorbis + Theora para compactação com perdas. O FFmpeg oferece suporte para decodificar aqueles através da libvorbis e libtheora, e permitirá a conversão de qualquer outro formato através da ffmpegferramenta de linha de comando.

Laurent Couvidou
fonte
11
Peço desculpas por ter demorado tanto para aceitar a resposta. Precisei escrever um aplicativo de teste para saber mais sobre como o sistema funciona e obter a reprodução básica de vídeo na tela. Se estiver interessado (é muito básico e não cobre um monte de coisas, incluindo taxas de quadros, buscando e manipulação de erro), ele pode ser baixado aqui de ninguém: box.com/s/0qhpzsmhknjqewffoevm
snake5