Pregunta

¿Alguien tiene una forma confiable conocido para crear un vídeo de una serie de archivos de imagen? Antes de que me mod abajo por no buscar la respuesta antes de publicar la pregunta, y antes de que el fuego de un mensaje del tipo "utilizar FFMPEG", lee el resto de este mensaje.

Estoy intentando crear un video, no importa demasiado qué formato, siempre que es ampliamente apoyada, de una serie de imágenes (.jpg, .bmp, etc.). Mi plataforma es Windows Server 2008 de 64 bits. Si puedo hacer que el vídeo desde dentro de mi programa en C #, que es grande, pero no estoy reacio a escribir una serie de archivos de imagen a un directorio y luego disparar un programa externo para hacer un video de esas imágenes.

Las únicas limitaciones son: tiene que trabajar en mi sistema de Windows Server 2008, y ser scripts. Es decir, no hay programas de interfaz gráfica de usuario que requieren la intervención del operador.

He encontrado una serie de preguntas similares sobre stackoverflow, y han intentado varias de las soluciones, todas con diferentes grados de frustración y ninguno con cualquier cosa que el éxito.

FFMPEG parece un gran programa. Tal es, en Linux. Las dos ventanas construye he descargado están rotos. Teniendo en cuenta esta línea de comandos:

  ffmpeg -r 1 -f image2 -i jpeg\*.jpg video.avi

Una de las compilaciones lee las imágenes y luego se bloquea debido a la prevención de ejecución de datos. El otro lee el primer archivo y luego escupe un mensaje de error que dice "no puede encontrar el códec adecuado para archivos JPEG / image2.jpg". Útiles, eso. En cualquier caso, FFMPEG parece un no-arranque en Windows.

Una respuesta a una anterior publicación recomienda Empalmador . Parece que bastante bueno código. He compilado las muestras y trató de correr, pero tengo algún mensaje de error críptico sobre un archivo no encontrado. Se ve como una clase COM no está registrado. Supongo que necesito instalar algo (DirectShow, tal vez, aunque pensé que ya estaba instalado?). Dependiendo de lo que se requiere, podría tener dificultades para justificar su instalación en el servidor. ( "¿Qué? ¿Por qué necesita que en el servidor?")

Otra respuesta sugirió la href="http://www.codeproject.com/KB/audio-video/avifilewrapper.aspx" rel="noreferrer"> avifile biblioteca del Proyecto de Código. Eso parece bastante simple: una envoltura alrededor del subsistema de Windows avifile. Excepto que los archivos AVI crea el paquete parecen tener todas las tramas, pero sólo el primer cuadro muestra cuando juego la AVI en Windows Media Player. Bueno, eso y si se intenta crear un vídeo comprimido, el programa se emite una excepción.

Por lo tanto, me quedo preguntando si hay una buena manera fiable a hacer lo que quiera: en un sistema Windows, crear un AVI u otro formato de archivo de vídeo común a partir de una serie de imágenes, ya sea a través de un API .NET o el uso de un programa externo. Cualquier ayuda?

¿Fue útil?

Solución

Después de trabajar con él un rato y echar un vistazo a x264 y VideoLAN, volví a Empalmador. Resulta que el mensaje de error críptico era debido a un error en mi código.

Parece que Empalmador hará lo que yo quiero:. Programáticamente crear vídeos a partir de una serie de imágenes

Gracias a todos los que respondieron.

Otros consejos

Puede utilizar VideoLAN y lo recomiendo.

He tenido experiencia directa en una aplicación de C # con VideoLAN hacer estas dos cosas:

  1. La incorporación de un visor de VLC en mi aplicación de C # (hay 3-4 C # "envoltorios" para la veiwer VLC).
  2. Uso vlc.exe en un proceso separado mediante el envío de argumentos de línea de comandos.

El hecho de que VideoLAN tiene una interfaz de línea de comandos es una gran cosa. Y VLC soporta una opción de línea de comando que desactiva cualquier elemento visual; por lo que la interfaz gráfica de usuario VLC no aparecen y tampoco lo hace una ventana de línea de comandos. Por lo tanto, en una aplicación de C # se puede subcontratar el trabajo relacionadas con el vídeo al cliente de VLC. C # tiene la clase de proceso que puede administrar las instancias de vlc.exe para usted. Termina siendo una solución bastante limpio.

He usado mplayer 's mencoder para crear AVI (con códecs msmpeg4 / mp3, legible por por defecto con Windows Media Player) a partir de archivos de TGA en Linux como esto:

mencoder mf://*.tga -mf fps=25:type=tga \
  -audiofile /tmp/test.mp3 -oac copy \
  -of lavf -ovc lavc \          
  -lavcopts vcodec=msmpeg4v2:mbd=2:mv0:trell:cbp:last_pred=3:vbitrate=3000 \
  -o /tmp/test.avi

Sé que MPlayer tiene una versión de Windows.

En lugar de simplemente ir a través de todos los problemas, usted podría coppy todas las imágenes que desea incluir en el vídeo en el portapapeles y lo han importado en Windows Live Movie Maker (de forma dinámica, por supuesto!) Y lo han compilar para usted!

Todo esto puede hacerse a través de código, pero de esta manera, usted no tiene que crear por sí mismo. Como usted ha dicho que la plataforma era de Windows, y todas las ventanas comps tiene instalado Windows Live Movie Maker, por lo que no debería ser un problema para cualquier persona que utilice su aplicación a menos que

a) Se desinstalar Windows Live Movie Maker

b) Están utilizando un equipo que ejecuta una versión de Windows más de 8 o 9 años ...

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