Version 1 (modified by 7 years ago) ( diff ) | ,
---|
Video and Audio
Playback of combined video and audio is a bit more complicated as now you need to utilize parsers, named elements to split the audio and video paths, and queues to avoid single-threaded blocking.
The following pipeline examples utilize plugins from the the Freescale gst-fsl-plugin package on GStreamer 0.10.
gst-fsl-plugin elements used:
- Parsers / Demuxers:
- aiurdemux - parse and identify source stream formats
Example using Big Buck Bunney H.264 (MOV H264 video, AAC suuround sound):
gst-launch filesrc location=/media/sda1/big_buck_bunny_1080p_h264.mov typefind=true ! aiurdemux name=d ! \ queue2 ! beepdec ! alsasink d. ! \ queue2 ! vpudec ! mfw_v4lsink device=/dev/video16
GStreamer playbin2 and decodebin2 elements
GStreamer has some bin elements that try to 'autoplug' other elements together by inspecting the pipeline.
The decodebin2 element will try to figure out the proper decoder pipeline for the sink specified:
gst-launch filesrc location=/media/sda1/big_buck_bunny_720p_surround.avi ! \ decodebin2 ! mfw_v4lsink device=/dev/video16
There is also playbin2 which just needs to be given a source and a sink
gst-launch playbin2 uri=file:///home/root/hawaii.mp4 \ video-sink="mfw_v4lsink device=/dev/video16"
Note that these 'bin' elements may not always do what you want or expect (they may not use hardware decode for example).
Freescale gplay
Or if simplicity is required, the Freescale GStreamer based gplay app will try to determine the file type and play it back as best as it can.
gplay /media/sda1/big_buck_bunny.mov