Adicionando outros codecs de vídeo / suporte a DVD ao JavaFX 2.2

Atualizar

Como o lado da mídia do JFX foi de código aberto, examinei isso pessoalmente e é realmente possível, mas requer a alteração e a reconstrução da fonte JFX (partes Java e C). O processo é descritoaqu para quem quiser experimentar - adiciono suporte ao MKV nesse exemplo, mas deve ser muito semelhante para outros plugin

O restante da pergunta é, portanto, principalmente histórico, mas vou deixar aqui como referênci

Fund

Eu tenho usado o VLCJ até agora para reproduzir vídeo no meu aplicativo. Funciona, mas se possível, eu gostaria de ver se posso alcançar um nível semelhante de suporte para codecs comuns migrando para JavaFX e economizando bastante trabalho com várias VMs e outras coisas que o VLCJ precisa reproduzir vários vídeos de maneira confiável. Não vou entrar aqui, mas veja minha resposta paraest pergunta se você estiver interessado nos detalhes. Há também o problema da compatibilidade de plataforma cruzada, ele funciona no Mac e Linux, mas ainda não descobri como exibi-lo no Mac (acredito que haja alguma segurança para impedir que um processo obtenha acesso ao nativo de outro) componentes, mas novamente isso está além do escopo desta pergunta.)

Tudo se resume ao fato de que, enquanto funciona, é muito trabalhoso e trabalhoso trabalhar com várias VMs e fazer uma ponte entre elas de maneira estável, se houver outra solução que seria mais fácil. O VLC tem um nível de suporte bastante lendário para reproduzir praticamente qualquer coisa, e é por isso que eu o incluí até agora, e eu estaria interessado em ver se posso obter um resultado semelhante no JavaFX - ou pelo menos se puder forneça os meios para fazê-lo de maneira multiplataforma.

Pesquis

@JavaFX 2.0 suporta vídeo - ótimo! No momento, porém, a linha oficial é compatível com "FLV contendo vídeo VP6 e áudio MP3". Existe uma maneira de estender isso para adicionar suporte a mais codecs? Não há nenhum codec rígido que eu gostaria de oferecer suporte, é mais um caso do maior número possível, então estou procurando um método extensível para executar o procedimento acima.

Eu me perguntei se ele reproduziria vídeo para codecs instalados nativamente na máquina e que ele simplesmente não se anuncia como tal (porque essa funcionalidade obviamente depende da máquina e não é multiplataforma). vários formatos comuns e ele realmente se recusa a reproduzir algo diferente do que afirm

De olhar para o JavaFX 1.3 it também suporta outros codecs dependentes da plataforma, dependendo de onde está instalado. Existe uma maneira de obter esse comportamento com o JavaFX 2? Ou está planejado algum lançamento posterior? Não consegui encontrar nenhuma informação sobre isso no roteiro nem nenhum comentário da Oracle sobre o assunt

A única coisa que pude encontrar pesquisando extensivamente éaqu, o que implica que isso pode ser possível, mas ninguém parece saber como. Também gostaria de saber se é baseado no GStreamer por que todos os formatos suportados pelo GStreamer também não estão incluídos por padrão?

Em termos de reprodução de DVDs com JavaFX, não tenho absolutamente nenhum lugar, então suponho que não seja possível no momento. Se alguém tiver alguma idéia ou informação, eu sou todo ouvido

Outras abordagens

ma abordagem que eu meio que imaginava ser possível é coibir o jar JMC do antigo JavaFX, conforme descriaqu e tentando fazê-lo funcionar junto com o JavaFX 2. Não acho que alguém tenha tido sorte com essa abordagem ou algo semelhant

Todas as coisas falham, se alguém tiver alguma informação ou link sobre se / quando o suporte a codecs adicionais será suportado imediatamente, então eu estaria interessado em ouvir isso também. Ou se alguém tiver algum contato para alguém da Oracle, eu poderia pedir que também seria apreciado! Eu anseio por um suporte de vídeo decente em Java há algum tempo, e acho que isso se resume a tentar descobrir se o JavaFX é a resposta para isso, ou apenas mais uma tentativa sem coração que nunca será mais do que aquilo que é. faz no momento! Espero que não seja o último, mas ainda tenho que ver muito para mostrar que é esse o cas

questionAnswers(5)

yourAnswerToTheQuestion