How to display frame rate with nvgstplayer-1.0 or gst-launch-1.0?

I want to observe the real time frame rate of TK1 video play. Can I use “nvgstplayer-1.0” or “gst-launch-1.0” to display real time frame rate? How to do this?

Hi williamhsiao,
Not sure how to do real-time profiling, but you can do continuous rendering.

Normally frames are rendered out per timestsmps:

ubuntu@tegra-ubuntu:~$ gst-launch-1.0 filesrc location= Bourne_Trailer.mp4 ! qtdemux ! h264parse ! omxh264dec ! nvhdmioverlaysink
Setting pipeline to PAUSED ...
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingPipeline is PREROLLING ...
NvMMLiteOpen : Block : BlockType = 261
TVMR: NvMMLiteTVMRDecBlockOpen: 5107: NvMMLiteBlockOpen
NvMMLiteBlockCreate : Block : BlockType = 261
TVMR: cbBeginSequence: 584: BeginSequence  1920x816, bVPR = 0
TVMR: cbBeginSequence: 826: DecodeBuffers = 2
TVMR: cbBeginSequence: 850: Display Resolution : (1920x816)
TVMR: cbBeginSequence: 851: Display Aspect Ratio : (1920x816)
TVMR: cbBeginSequence: 1015: SurfaceLayout = 3
TVMR: cbBeginSequence: 1045: NumOfSurfaces = 6, InteraceStream = 0, InterlaceEnabled = 0, bSecure = 0, MVC = 0 Semiplanar = 1, bReinit = 1
Allocating new output: 1920x816 (x 8), ThumbnailMode = 0
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
TVMR: NvMMLiteTVMRDecDoWork: 4138: NVMMLITE_TVMR: EOS detected
TVMR: TVMRBufferProcessing: 3518: Processing of EOS Done
Got EOS from element "pipeline0".
Execution ended after 0:01:29.106168089
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
TVMR: TVMRFrameStatusReporting: 3883: Closing TVMR Frame Status Thread -------------
TVMR: TVMRFrameDelivery: 3739: Closing TVMR Frame Delivery Thread -------------
TVMR: NvMMDecTVMRDestroyParser: 4290: NvAvpClose
TVMR: NvMMLiteTVMRDecBlockClose: 5263: Done
Setting pipeline to NULL ...
Freeing pipeline ...

You will see the total time matches video time:
Execution ended after 0:01:29.106168089

You can run continuous rendering by setting ‘sync=false’:

ubuntu@tegra-ubuntu:~$ gst-launch-1.0 filesrc location= Bourne_Trailer.mp4 ! qtdemux ! h264parse ! omxh264dec ! nvhdmioverlaysink sync=false
Setting pipeline to PAUSED ...
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingPipeline is PREROLLING ...
NvMMLiteOpen : Block : BlockType = 261
TVMR: NvMMLiteTVMRDecBlockOpen: 5107: NvMMLiteBlockOpen
NvMMLiteBlockCreate : Block : BlockType = 261
TVMR: cbBeginSequence: 584: BeginSequence  1920x816, bVPR = 0
TVMR: cbBeginSequence: 826: DecodeBuffers = 2
TVMR: cbBeginSequence: 850: Display Resolution : (1920x816)
TVMR: cbBeginSequence: 851: Display Aspect Ratio : (1920x816)
TVMR: cbBeginSequence: 1015: SurfaceLayout = 3
TVMR: cbBeginSequence: 1045: NumOfSurfaces = 6, InteraceStream = 0, InterlaceEnabled = 0, bSecure = 0, MVC = 0 Semiplanar = 1, bReinit = 1
Allocating new output: 1920x816 (x 8), ThumbnailMode = 0
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
TVMR: NvMMLiteTVMRDecDoWork: 4138: NVMMLITE_TVMR: EOS detected
TVMR: TVMRBufferProcessing: 3518: Processing of EOS Done
Got EOS from element "pipeline0".
Execution ended after 0:00:35.600975507
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
TVMR: TVMRFrameStatusReporting: 3883: Closing TVMR Frame Status Thread -------------
TVMR: TVMRFrameDelivery: 3739: Closing TVMR Frame Delivery Thread -------------
TVMR: NvMMDecTVMRDestroyParser: 4290: NvAvpClose
TVMR: NvMMLiteTVMRDecBlockClose: 5263: Done
Setting pipeline to NULL ...
Freeing pipeline ...

Execution ended after 0:00:35.600975507