GStreamer Miscellaneous

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

GStreamer Miscellaneous

GStreamer Miscellaneous

Dumping the pipeline elements into a image file

# On target, run the pipeline

$ export GST_DEBUG_DUMP_DOT_DIR=<folder where dot files are created>

$ gst-launch playbin2 uri=file://${avi}

$ # Move the .dot files to a host machine (scp, etc)


# On Host

dot <dot file> -Tpng -o out.png

# dot command is part the the graphviz package

Querying which elements are being used on a gst-launch commandGST_DEBUG=GST_ELEMENT_FACTORY:3 gst-launch playbin2 uri=file://`pwd`/<media file>
Interrupting a gst-launch process running in the background

kill -INT $PID

# where $PID is the process ID

Using only SW codecs

# Backup and remove

$ find /usr/lib/gstreamer-0.10 -name "libmfw*" | grep -v sink | xargs tar cvf /libmfw_gst.tar

$ find /usr/lib/gstreamer-0.10 -name "libmfw*" | grep -v sink | xargs rm

# Run your pipeline. This time SW codecs are used

$ gst-launch playbin2 uri=file://`pwd`/media_file

# To 'install' FSL plugins again, just untar the file

$ cd / && tar xvf libmfw_gst.tar && cd -

# then run your pipeline. This time HW codecs are used

$ gst-launch playbin2 uri=file://`pwd`/media_file


Labels (2)
Comments

The instructions for 'Using only SW codecs' don't work for me.  I have a SabreSD board with i.MX6Q CPU and 4.0.0 version of the Linux SDK with patched ffmpeg plugins installed.  Here is my output:

root@freescale ~$ gst-launch playbin2 uri=file:///root/RecordedTs-coreel-720p5994.ts

Setting pipeline to PAUSED ...

Pipeline is PREROLLING ...

WARNING: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: No decoder available for type 'video/mpegts, systemstream=(boolean)true, packetsize=(int)188'.

Additional debug info:

gsturidecodebin.c(867): unknown_type_cb (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0

ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20: Your GStreamer installation is missing a plug-in.

Additional debug info:

gstdecodebin2.c(3233): gst_decode_bin_expose (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20:

no suitable plugins found

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

Freeing pipeline ...

root@freescale ~$ gst-launch playbin2 uri=file:///root/sample_mpeg4.mp4

Setting pipeline to PAUSED ...

Pipeline is PREROLLING ...

WARNING: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: No decoder available for type 'audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1290, rate=(int)32000, channels=(int)2'.

Additional debug info:

gsturidecodebin.c(867): unknown_type_cb (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0

ERROR: from element /GstPlayBin2:playbin20/GstPlaySink:playsink0: The autovideosink element is not working.

Additional debug info:

gstplaysink.c(1353): gen_video_chain (): /GstPlayBin2:playbin20/GstPlaySink:playsink0

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

Freeing pipeline ...

Try these steps:

rm .gstreamer-0.10/registry.arm.bin # this is done to force plugins reloading

gst-inspect | grep ff # To check if ffmpeg plugins are there

gst-launch playbin2 ....

Actually, you may need the Freescale video sinks, so do not move/remove these. Let me know if it works.

Leo

Ok, I removed all libmfw_* EXCEPT libmfw_gst_isink.so and libmfw_gst_v4lsink.so and that works. Thanks.

I have updated the recipe! Thanks!

Leo

No ratings
Version history
Last update:
‎09-28-2012 02:21 PM
Updated by: