1. Overview[edit source]
gst-play (gst-play-1.0) is a GStreamer command line utility available with GStreamer-1.X.
This utility plays multimedia content using the Playbin element as a basic player. It takes as an input either individual files, URLs or a whole directories (in this case it will recurse into sub-directories as well).
2. Usage[edit source]
gst-play accepts the following options:
gst-play-1.0 --help
Usage: gst-play-1.0 [OPTION?] FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ... Help Options: -h, --help Show help options --help-all Show all help options --help-gst Show GStreamer Options Application Options: -v, --verbose Output status information and property notifications --flags Control playback behaviour setting playbin 'flags' property --version Print version information and exit --videosink Video sink to use (default is autovideosink) --audiosink Audio sink to use (default is autoaudiosink) --gapless Enable gapless playback --shuffle Shuffle playlist --no-interactive Disable interactive control via the keyboard --volume Volume --playlist Playlist file containing input media files -q, --quiet Do not print any output (apart from errors)
The user can control the playback through the host terminal keyboard. Press k to list the available keyboard shortcuts once the content is playing:
<space> Pause/Resume playback <up/down arrows> Volume up/down <left/right arrows> Seek back/forward +/- Increase/decrease playback rate d Reverse playback direction t Cycle through trick modes a Switch audio track s Switch subtitle track v Switch video track > Skip to next item in playlist < Go back to previous item in playlist q, ESC Quit
Information provided by gst-play Ubuntu manual
3. Examples[edit source]
3.1. Basic audio/video playback[edit source]
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm
3.2. Video only playback[edit source]
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm --audiosink=fakesink
Audio rendering is disabled, but audio decoding continues.
3.3. Playlist playback[edit source]
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm /usr/local/demo/media/ST2297_visionv3.webm /usr/local/demo/media/ST2297_visionv3.webm /usr/local/demo/media/ST2297_visionv3.webm
Press ">" key to play the next file, "<" key to play the previous one.
3.4. Loop or repeat the same video[edit source]
This option is not currently available within gst-play but here are some alternatives:
- Playlist with the same video over and over. In the example below, the same video file is played 3 times. The video file can be added as many times as needed:
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm /usr/local/demo/media/ST2297_visionv3.webm /usr/local/demo/media/ST2297_visionv3.webm
- For loop (here 1000 times):
for i in `seq 1 1000`;do gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm; done
3.5. Seek while playing[edit source]
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm /usr/local/demo/media/ST2297_visionv3.webm /usr/local/demo/media/ST2297_visionv3.webm /usr/local/demo/media/ST2297_visionv3.webm
Press "right arrow key" to seek forward, "left arrow key" to seek backward.
3.6. Change playback speed[edit source]
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm
Press "+" key to increase rate and "-" key to decreased it.
3.7. HTTP streaming[edit source]
gst-play-1.0 https://github.com/STMicroelectronics/meta-st-openstlinux/blob/thud/recipes-samples/demo/demo-launcher/media/ST2297_visionv3.webm?raw=true
3.8. Audio/video playback on HDMI TV[edit source]
Switch audio output on HDMI:
pacmd set-card-profile 0 output:hdmi-stereo
Than play the video:
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm
3.9. Audio/video playback in background[edit source]
Option --no-interactive must be set in order to be able to play in background:
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm --no-interactive &
[1] 14998
root@stm32mp1:~# Now playing /av_h264_main_640x480_30fps_1000kbps_aac-lc_192kbps.mp4
Then to stop playback:
killall gst-play-1.0
or
fg <CTRL+C>