framework multimedia para la reproducción de vídeo en una aplicación de interfaz gráfica de usuario?

StackOverflow https://stackoverflow.com/questions/922479

Pregunta

Hace algún tiempo empecé un proyecto en el que yo tenía que hacer las siguientes cosas:

  • Reproducir vídeos:
    • En cualquier formato común (AVI, MPEG, XviD, etc.)
    • Ser capaz de hacer una pausa y cambiar la posición de la corriente mediante programación.
    • Ser capaz de ajustar la velocidad de reproducción (no es obligatorio, pero deseable)
  • Déjame pinto gráficos personalizados (mantienen sincronizados con el vídeo) sobre el componente de reproducción.
  • Permitir el acceso del cuadro actual como una imagen de trama (esto no es obligatorio, pero deseable).

Y también ser fácil de usar (por ejemplo componente visual orientado, no quiero que lidiar mucho con los flujos internos multimedia).

Como ya tenía algo de código relacionado escrito en Java, he intentado con todas las bibliotecas de Java que he encontrado (JMF, FMJ, JVLC, Jffmpeg, gstreamer-java) pero nadie satisfecho todas mis requisitos duros (por ejemplo, las lo que permitió que dibuje sobre el marco no podía ser en pausa o rebobinar, los cuales estaban con todas las funciones eran obsoletas, etc.), por lo que poner en suspenso el proyecto.

Ahora estoy en el estado de ánimo para una reaparición y no me importaría volver a escribir el código en otro lenguaje (de un nivel igual o superior al de Java, pero por favor, no en C o C ++, me he vuelto demasiado perezoso: -p) que tiene un buen marco GUI o Rich Client Platform libremente disponibles también. Siendo multiplataforma es un buen punto, como me gusta para desarrollar y probar en Linux, pero me gustaría llegar a un público más amplio, por lo que ser capaz de dirigirse a Windows es una necesidad.

Entonces, ¿qué lenguaje y marcos me recomiendan?

¿Fue útil?

Solución

Me gustaría utilizar la biblioteca OpenCV. Hay todas las características que necesita: soporte de formatos, ir a buscar cualquier marco, la modificación del marco, etc. Echa un vistazo a este guía de instalación y algunas muestras.

Otros consejos

Phonon de Qt . Qt también está disponible para Java, como Qt Jambi .

Si no está totalmente miedo de ir sólo para Windows, WPF debe responder a casi todos, si no todos, de sus demandas.

Se puede utilizar con C # y todo el lenguaje .NET.

Otro marco que podría considerar es el marco MLT: http://mltframework.org/

Tiene un gran diseño, que está escrito en C, y utiliza el TRAGO para enlaces de lenguaje (Java, Perl, PHP, Python, Ruby, Tcl.) Sé que la gente ha tenido que se ejecuta en la mayoría de las plataformas.

Para entender lo que es capaz de hacer, echa un vistazo a la kdenlive NLE impresionante, es el usuario más activo.

Usted dice que ha intentado gstreamer-java. Tal vez sea fijaciones no son tan buenos? Estoy bastante seguro de que Gstreamer puede hacer todo lo que se le pregunte. Tal vez usted debe comprobar fuera de los enlaces de Python en su lugar. Python es un ciudadano de primera clase para los desarrolladores Gstreamer por lo que las fijaciones debe ser siempre completa y actualizada.

Python también tiene múltiples marcos GUI multiplataforma disponible. Personalmente me gusta usar GTK libglade porque es ridículamente fácil de construir una interfaz gráfica de usuario utilizando el claro y es archivos XML (y GTK funciona en Windows también, así que no hay problema). Si prefiere algo más, entonces no hay Qt, wxWidgets y Tk, todos los cuales se ejecuta en Linux y Windows (y supongo que así MacOSX).

Un navegador web integrado manejaría sus requisitos establecidos:

  • Reproducción de vídeo (utilice el mplayer o plugins VLC)
  • Lenguaje de alto nivel para controlar la reproducción (javascript)
  • Superposición / interfaz gráfica de usuario (HTML + CSS + PNG / SVG)

a Raster el cuadro actual sería más difícil, es posible que necesite un poco de ffmpeg personalizada para volcar un marco en el disco luego leerlo de nuevo en como un

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top