Last edited 3 years ago

Gst-play

Template:ArticleMainWriter Template:ArticleApprovedVersion


1. Overview[edit source]

Template:Highlight (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:

Template:Board$ 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 Template:Highlight 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]

Template:Info Template:InfoTemplate:UpdateNeededForNewBoard

3.1. Basic audio/video playback[edit source]

Template:Board$ gst-play-1.0 Template:Av ref file

3.2. Video only playback[edit source]

Template:Board$ gst-play-1.0 Template:Av ref file --audiosink=fakesink

Audio rendering is disabled, but audio decoding continues.

3.3. Playlist playback[edit source]

Template:Board$ gst-play-1.0 Template:Av ref file Template:Av ref file Template:Av ref file Template:Av ref file

Press Template:Highlight to play the next file, Template:Highlight 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:
Template:Board$ gst-play-1.0 Template:Av ref file Template:Av ref file  Template:Av ref file
  • For loop (here 1000 times):
Template:Board$ for i in `seq 1 1000`;do gst-play-1.0 Template:Av ref file; done

3.5. Seek while playing[edit source]

Template:Board$ gst-play-1.0 Template:Av ref file Template:Av ref file Template:Av ref file Template:Av ref file

Press Template:Highlight to seek forward, Template:Highlight to seek backward.

3.6. Change playback speed[edit source]

Template:Board$ gst-play-1.0 Template:Av ref file

Press Template:Highlight to increase rate and Template:Highlight to decreased it.

3.7. HTTP streaming[edit source]

Template:InfoTemplate:UpdateNeededForNewBoard Template:InternalInfo

Template:Board$ gst-play-1.0 Template:Av ref http


3.8. Audio/video playback on HDMI TV[edit source]

Template:Info Template:UpdateNeededForNewBoard

Switch audio output on HDMI:

Template:Board$ pacmd set-card-profile 0 output:hdmi-stereo

Than play the video:

Template:Board$ gst-play-1.0 Template:Av ref file

3.9. Audio/video playback in background[edit source]

Option Template:Highlight must be set in order to be able to play in background:

Template:Board$ gst-play-1.0 Template:Av ref file Template:Highlight &
[1] 14998
root@stm32mp1:~# Now playing /av_h264_main_640x480_30fps_1000kbps_aac-lc_192kbps.mp4

Then to stop playback:

Template:Board$ killall gst-play-1.0

or

Template:Board$ fg
<CTRL+C>