nvgstplayer-1.0 in R21.2 not able to play video because of plugins missing

Hi All,

I have JetsonTK1 with R21.2 running on it. But video playback using nvgstplayer-1.0 fails with message ''Your GStreamer installation is missing a plug-in".

R21.2 release notes suggested to use the full path. Following is the snippet from that.

GSTREAMER 1.0 SUPPORT
This release includes gstreamer 1.0 support. The nvgstplayer application defaults to gstreamer 0.1. To run the 1.0 version, use the full path to the binary.

Command tried:

$ /usr/bin/nvgstplayer-1.0 -i <file>

Output:

Runtime Commands:
         q                                quit the application
         h                                print help
         Up Key, ]                        goto next track
         c                                restart current track
         Down Key, [                      goto previous track
         spos                             query for position
         sdur                             query for duration
         s<val>                           seek to <val> position in seconds, eg "s5.120"
         v<val>                           seek to <val> percent of the duration, eg "v54"
         f<val>                           seek by <val> seconds, relative to current position eg "f23.901"
         Left Key, <                      seek backwards by 10 seconds
         Right Key, >                     seek forward by 10 seconds
         p                                pause playback
         r                                start/resume the playback
         z                                stop the playback
         i:<val>                          enter a single URI

** Message: <main:3848> iterating...
** Message: <goto_next_track:858> uriCount: 0,  uriTotal: 1
** Message: <on_input:532> pausing
Error by /GstPipeline:player/GstDecodeBin:decodebin0: Your GStreamer installation is missing a plug-in.
debug info:
gstdecodebin2.c(3928): gst_decode_bin_expose (): /GstPipeline:player/GstDecodeBin:decodebin0:
no suitable plugins found
** Message: <goto_next_track:858> uriCount: 1,  uriTotal: 1
** Message: <goto_next_track:861> done playing all URIs
** Message: <goto_next_track:875> quitting the app
1 r
Playback completed!
Application will now exit!

I have verified videoplayback using nvgstplayer-0.10. It works fine.

gst-inspect-0.10 has the following nvidia’s omx plugins,

omx:  nv_omx_mpeg4enc: OpenMAX IL MPEG-4 video encoder
omx:  nv_omx_h264enc: OpenMAX IL H.264/AVC video encoder
omx:  nv_omx_h263enc: OpenMAX IL H.263 video encoder
omx:  nv_omx_vorbisdec: OpenMAX IL Vorbis audio decoder
omx:  nv_omx_amrnbenc: OpenMAX IL AMR-NB audio encoder
omx:  nv_omx_amrwbenc: OpenMAX IL AMR-WB audio encoder
omx:  nv_omx_ilbcenc: OpenMAX IL iLBC audio encoder
omx:  nv_omx_jpegenc: OpenMAX IL JPEG image encoder
omx:  nv_omx_filereadersrc: OpenMAX IL filereader src element
omx:  nv_omx_camera: OpenMAX IL camera src element
omx:  nv_omx_mpeg2dec: OpenMAX IL MPEG2 video decoder
omx:  nv_omx_mpeg4dec: OpenMAX IL MPEG-4 video decoder
omx:  nv_omx_h264dec: OpenMAX IL H.264/AVC video decoder
omx:  nv_omx_vp8dec: OpenMAX IL VP8 video decoder
omx:  nv_omx_h263dec: OpenMAX IL H.263 video decoder
omx:  nv_omx_wmvdec: OpenMAX IL WMV video decoder
omx:  nv_omx_jpegdec: OpenMAX IL JPEG decoder
omx:  nv_omx_wmadec: OpenMAX IL WMA audio decoder
omx:  nv_omx_wmaprodec: OpenMAX IL WMA audio decoder
omx:  nv_omx_wmalosslessdec: OpenMAX IL WMA audio decoder
omx:  nv_omx_mp3dec: OpenMAX IL MP3 audio decoder
omx:  nv_omx_mp2dec: OpenMAX IL MP2 audio decoder
omx:  nv_omx_aacdec: OpenMAX IL AAC audio decoder
omx:  nv_omx_aacenc: OpenMAX IL AAC audio encoder
omx:  nv_omx_vp8enc: OpenMAX IL VP8 video encoder
omx:  nv_omx_audiosink: OpenMAX IL audiosink element
omx:  nv_gstbin_videosink: OpenMAX IL videosink element
omx:  nv_omx_videomixer: OpenMAX IL Nvidia Mixer component
omx:  nv_omx_videosink: OpenMAX IL videosink element
omx:  nv_omx_hdmi_videosink: OpenMAX IL hdmi videosink element
omx:  nv_omx_overlaysink: OpenMAX IL overlaysink element
omx:  nv_gl_eglimagesink: OpenMAX IL videosink element
omx:  nv_omx_vip: OpenMAX IL vip src element
omx:  nv_omx_camera2: Nvidia OMX Camera2

where as gst-inspect-1.0 has only these omx plugins

omx:  omxmpeg4videodec: OpenMAX MPEG4 Video Decoder
omx:  omxh264dec: OpenMAX H.264 Video Decoder
omx:  omxvp8dec: OpenMAX VP8 Video Decoder
omx:  omxmpeg2videodec: OpenMAX MPEG2 Video Decoder
omx:  omxh263dec: OpenMAX H.263 Video Decoder
omx:  omxwmvdec: OpenMAX WMV Video Decoder
omx:  omxaacdec: OpenMax AAC decoder
omx:  omxmpegaudiodec: OpenMax MP3/MP2 decoder
omx:  omxh264enc: OpenMAX H.264 Video Encoder
omx:  omxvp8enc: OpenMAX VP8 Video Encoder
omx:  nvhdmioverlaysink: OpenMax HDMI Video Sink
omx:  nvoverlaysink: OpenMax Video Sink

Overall it looks that gstreamer-1.0 seems to be broken.
What am I missing here? Any help would be great.

Well, not broken just “incomplete”.
you need to get some of the gst1.0-pulugins yourself (e.g. bad, ugly, etc…).

try these.

< list plugins >
sudo apt-cache search -n gstreamer1.0-plugins

< pick what you need >
sudo apt-get install  gstreamer1.0-plugins-xxx

Depending on kind of video file you are trying to play, you may need some GST plugins from the Universe or Multiverse repositories. You can enable them with:

sudo apt-add-repository universe
sudo apt-add-repository multiverse
sudo apt-get update

And then do the search again.

Hi krish12,

universe and multiverse repositories are not added in 14.04 by default. You will have to add them explicitly.
Once added, do “sudo apt-get update” and install bad, ugly, libav plugins using below command:

sudo apt-get install gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav

With this, nvgstplayer-1.0 should work fine for you.

Regards,
Sanket.