PDA

View Full Version : [JAVA] formati video supportati


svitatissimo
03-09-2009, 09:04
Ragazzi sono alle prese con un lavoro di tesi e devo implementare un'iterfaccia grafica per un programma che si occupa di effettuare shot detection e classification su filmati in formato .mpeg
Per la realizzazione di tale interfaccia grafica sono indeciso se utilizzare JAVA o C#.
Sarei orientato verso JAVA ma da qualche ricerca effettuata in giro ho visto che JMF non supporta pienamente il formato .mpeg a differenza dell'avi.
Come potete osservare da questa tabella
http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/formats.html
il formato mpeg è supportato solo in lettura e per le mie esigenze questo non è sufficiente.
Voi mi confermate che sia effettivamente così?
Non ci sono altre librerie/framework JAVA che permettono il supporto completo ai file .mpeg?

Ringrazio anticipatamente chi di voi sarà in grado di fornirmi indicazioni utili

banryu79
03-09-2009, 09:46
Non ho acora mai usato JMF, ma, dopo una veloce googolata ho trovato questo post del 2000 (vecchiotto, forse le cose son cambiate):

Answer
The specifications for MPEG codecs (http://www.cselt.it/mpeg) are asymmetric. That is to say, it takes much more work to encode an MPEG bitstream than it does to decode it. This is by design, so that decoders can be simpler and hopefully much faster for end users/consumers. Because of the assymmetric nature of MPEG codecs, software MPEG decoders are more common than software encoders.

I am aware of several Java-based decoders, but no Java-based encoders. I would recommend searching through mpeg.org and especially its "Search Software and Products" page (http://www.mpeg.org/MPEG/products/search-mpeg-products-and-software.html).

In theory, if you can find an all-software MPEG encoder that exposes an API for your use, you should at least be able to wrap the encoder in your own Java bindings. It's not an all-Java solution, but it could give you a Java interface to access your MPEG encoder.


In pratica, male che vada, puoi sempre wrappare qualcosa di esistente, naturalmente così facendo l'eventuale applicazione non sarebbe più pure Java.