2009-10-16 31 views
10

Quiero escribir un programa de seguimiento de objetos que necesita reproducir el resultado rastreado. Como gstreamer es un buen trabajo de marco multimedia, quiero usarlo en mi programa de demostración. Pero no sé cómo implementar la visualización de video en detalle. ¿Alguien puede ayudar?Cómo mostrar video de avi con gstreamer?

El complemento Avidemux podría separar la parte de audio y video de un archivo avi, pero ¿qué hacer a continuación?

Si abro un archivo avi descomprimido, ¿funciona si conecto directamente el panel de salida del complemento avidemux a un receptor de video?

Por cierto, ¿qué sumidero de video es mejor en el aspecto de eficiencia? Busqué la referencia del complemento y encontré una gran cantidad de sumideros de video: glimagesink, osxvideosink, sdlvideosink, ximagesink, xvimagesink, dfbvideosink, fbdevsink, gconfvideosink ¿El autovideosink siempre funciona bien? Mi plataforma es ubuntu 9.04.

TIA ~

Respuesta

13

Como Nick Hadded sugiere, playbin o decodebin es un buen lugar para comenzar. Para la experimentación se sugiere emplear GST-lanzamiento, por ejemplo .:

gst-launch filesrc location=video.avi ! 
decodebin2 name=dec ! queue ! ffmpegcolorspace ! autovideosink 
dec. ! queue ! audioconvert ! audioresample ! autoaudiosink 

estoy usando autoaudiosink y autovideosink, ya que por lo general trabajan. Cuando haya encontrado una tubería que funciona, intente construir la misma tubería con código. Si no necesita audio, simplemente omita esa parte de la tubería. Para la visualización de video, su mejor apuesta es xvimagesink (en UNIX al menos).

+0

Pregunta: Otros pueden tener "Cómo mostrar video MPEG2/MPEG4 con Gstreamer" La respuesta sería: gst-launch filesrc location =/tmp/filmfr2.mpg! decodebin2 name = dec! cola! ffmpegcolorspace! autovideosink dec. ! cola! audioconvert! ¡audioresample! autoaudiosink – YumYumYum

Cuestiones relacionadas