Brand new Xavier Jetson 4.2 can't play h264

So I bought a Xavier to play with OpenALPR which worked with the Jetson load that came with the box when it shipped last week.
OpenALPR worked fine for my h264 RTSP stream and VLC could play the streams too

I fired up Jetpack and loaded version 4.2 with all the plugins like cuda etc as I needed a clean start after filling the disk with experimental libraries etc. With the brand new load of 4.2 I went to install OpenALPR which loads fine, but I can’t add RTSP streams (which uses ggstreamer), I tried them in VLC and same issue, it crashes.

I downloaded a mp4 video of the stream (from the NVR) and same issue it doesn’t play either

I tried version 4.1.1, same issue.

Am back to 4.2 with brand new install, same issue.

Do I need to enable something to get h264 working? I assume because its hardware decoded maybe I need to enable something?

I have the unit running in mode 0 for all GPU/CPU etc.

Here is some info from when trying to add a stream

D: Using auto stream decoding
I: Video Stream Starting: rtsp://192.168.33.4:7447/5cac1f8f848eb769d620c5f4_0
D: Video Stream Pipeline: rtspsrc location=rtsp://192.168.33.4:7447/5cac1f8f848eb769d620c5f4_0 drop-on-latency=true udp-buffer-size=1572864 do-retransmission=false latency=1000 ! queue max-size-time=5000000000 max-size-bytes=0 max-size-buffers=0 leaky=1 ! decodebin !  videoconvert ! appsink name=sink max-buffers=5 drop=1 
I: Using normal priority for gstreamer thread 547910299200
I: Video state change 2
I: Video Stream Start complete
I: Using normal priority for gstreamer thread 547121778240
I: Using normal priority for gstreamer thread 547113385536
I: Using normal priority for gstreamer thread 546601692736
I: Using normal priority for gstreamer thread 546568121920
I: Using normal priority for gstreamer thread 546576514624
I: Using normal priority for gstreamer thread 546584907328
I: Using normal priority for gstreamer thread 546551336512
I: Using normal priority for gstreamer thread 545984376384
I: Using normal priority for gstreamer thread 545729277504
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
D: Processing request: agent_status (219 bytes)
I: Sending message of length: 2599
I: Total message processing time: 0.579204
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
D: Processing request: agent_status (219 bytes)
I: Sending message of length: 2599
I: Total message processing time: 0.80727
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
D: Processing request: agent_status (219 bytes)
I: Sending message of length: 2599
I: Total message processing time: 0.633318
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
I: Sending ping
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
D: Processing request: agent_status (219 bytes)
I: Sending message of length: 2599
I: Total message processing time: 0.581063
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
D: Processing request: agent_status (219 bytes)
I: Sending message of length: 2599
I: Total message processing time: 0.601959
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
D: Processing request: agent_status (219 bytes)
I: Sending message of length: 2599
I: Total message processing time: 0.758217
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
D: Processing request: agent_status (219 bytes)
I: Sending message of length: 2599
I: Total message processing time: 0.74929
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
D: Processing request: agent_status (219 bytes)
I: Sending message of length: 2599
I: Total message processing time: 0.710665
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
W: Video Stream Warning: not negotiated
I: Timed out waiting for video stream after 13 seconds
I: Video Stream Unloading: rtsp://192.168.33.4:7447/5cac1f8f848eb769d620c5f4_0
I: Unloading video recorder sink
I: Video Stream Unloaded: rtsp://192.168.33.4:7447/5cac1f8f848eb769d620c5f4_0
Close
nvidia@xavier-ubuntu:~/Downloads$ gst-launch-1.0 filesrc location=20190826.195411.Cam6GarageDoor.mp4 ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! omxh264dec ! nveglglessink -e
Setting pipeline to PAUSED ...

Using winsys: x11 
Pipeline is PREROLLING ...
Got context from element 'eglglessink0': gst.egl.EGLDisplay=context, display=(GstEGLDisplay)NULL;

(gst-launch-1.0:17647): GStreamer-CRITICAL **: 21:41:09.259: gst_caps_is_empty: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:17647): GStreamer-CRITICAL **: 21:41:09.259: gst_caps_truncate: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:17647): GStreamer-CRITICAL **: 21:41:09.259: gst_caps_fixate: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:17647): GStreamer-CRITICAL **: 21:41:09.259: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:17647): GStreamer-CRITICAL **: 21:41:09.259: gst_structure_get_string: assertion 'structure != NULL' failed

(gst-launch-1.0:17647): GStreamer-CRITICAL **: 21:41:09.259: gst_mini_object_unref: assertion 'mini_object != NULL' failed
NvMMLiteOpen : Block : BlockType = 261 
NVMEDIA: Reading vendor.tegra.display-size : status: 6 
NvMMLiteBlockCreate : Block : BlockType = 261 
Allocating new output: 1920x1088 (x 12), ThumbnailMode = 0
OPENMAX: HandleNewStreamFormat: 3605: Send OMX_EventPortSettingsChanged: nFrameWidth = 1920, nFrameHeight = 1080 
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.028442293
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
Caught SIGSEGV
#0  0x0000007fb3143ce4 in __waitpid (pid=<optimized out>, stat_loc=0x7fc4e20034, options=<optimized out>) at ../sysdeps/unix/sysv/linux/waitpid.c:30
#1  0x0000007fb317f2a0 in g_on_error_stack_trace ()
#2  0x000000558f4dec3c in  ()
Spinning.  Please run 'gdb gst-launch-1.0 17647' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

Apparently its level 41 type?

root@xavier-ubuntu:/home/nvidia/Downloads# ffprobe -show_streams 20190826.195411.Cam6GarageDoor.mp4  
ffprobe version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2007-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu/Linaro 7.3.0-16ubuntu3)
  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '20190826.195411.Cam6GarageDoor.mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2019-08-26T08:37:12.000000Z
  Duration: 00:01:18.02, start: 0.000000, bitrate: 3035 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1920x1080 [SAR 189:190 DAR 168:95], 3002 kb/s, 15 fps, 15 tbr, 90k tbn, 30 tbc (default)
    Metadata:
      creation_time   : 2019-08-26T08:37:12.000000Z
      handler_name    : VideoHandler
      encoder         : EvoStream Media Server
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 11025 Hz, mono, fltp, 31 kb/s (default)
    Metadata:
      creation_time   : 2019-08-26T08:37:12.000000Z
      handler_name    : SoundHandler
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=Main
codec_type=video
codec_time_base=1/30
codec_tag_string=avc1
codec_tag=0x31637661
width=1920
height=1080
coded_width=1920
coded_height=1080
has_b_frames=0
sample_aspect_ratio=189:190
display_aspect_ratio=168:95
pix_fmt=yuvj420p
level=41
color_range=pc
color_space=bt709
color_transfer=bt709
color_primaries=bt709
chroma_location=left
field_order=unknown
timecode=N/A
refs=1
is_avc=true
nal_length_size=4
id=N/A
r_frame_rate=15/1
avg_frame_rate=15/1
time_base=1/90000
start_pts=0
start_time=0.000000
duration_ts=7019999
duration=77.999989
bit_rate=3002846
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:creation_time=2019-08-26T08:37:12.000000Z
TAG:language=und
TAG:handler_name=VideoHandler
TAG:encoder=EvoStream Media Server
[/STREAM]
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
codec_time_base=1/11025
codec_tag_string=mp4a
codec_tag=0x6134706d
sample_fmt=fltp
sample_rate=11025
channels=1
channel_layout=mono
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/11025
start_pts=0
start_time=0.000000
duration_ts=860160
duration=78.019048
bit_rate=31397
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:creation_time=2019-08-26T08:37:12.000000Z
TAG:language=und
TAG:handler_name=SoundHandler
[/STREAM]

Hi,
Please try

$ gst-launch-1.0 filesrc location=20190826.195411.Cam6GarageDoor.mp4 ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! omxh264dec ! nvoverlaysink

We support hardware acceleration in gstreamer and tegra_multimedia_api:
https://developer.nvidia.com/embedded/dlc/NVIDIA_Tegra_Linux_MultimediaAPIReference
https://developer.nvidia.com/embedded/dlc/l4t-accelerated-gstreamer-guide-32-2

Please try more video files. Maybe the issue is specific to decoding the video file.

I see the first frame in the video, it stays on the screen a few seconds then closes…

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...

(gst-launch-1.0:8736): GStreamer-CRITICAL **: 15:00:37.438: gst_caps_is_empty: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:8736): GStreamer-CRITICAL **: 15:00:37.438: gst_caps_truncate: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:8736): GStreamer-CRITICAL **: 15:00:37.438: gst_caps_fixate: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:8736): GStreamer-CRITICAL **: 15:00:37.438: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:8736): GStreamer-CRITICAL **: 15:00:37.438: gst_structure_get_string: assertion 'structure != NULL' failed

(gst-launch-1.0:8736): GStreamer-CRITICAL **: 15:00:37.438: gst_mini_object_unref: assertion 'mini_object != NULL' failed
NvMMLiteOpen : Block : BlockType = 261 
NVMEDIA: Reading vendor.tegra.display-size : status: 6 
NvMMLiteBlockCreate : Block : BlockType = 261 
Allocating new output: 1920x1088 (x 12), ThumbnailMode = 0
OPENMAX: HandleNewStreamFormat: 3605: Send OMX_EventPortSettingsChanged: nFrameWidth = 1920, nFrameHeight = 1080 
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.000522646
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

The videos used to play just fine with the software load I received on my Xavier when I received it.
I have since used Jetson and installed 4.1.1 , then 4.2 then 4.2.1 and all of them have issues

I can play the demo files no problem
/usr/share/visionworks/sources/data/cars.mp4
/usr/share/visionworks/sources/data/pedestrians.mp4
/usr/share/visionworks/sources/data/left_right.mp4
/usr/share/visionworks-sfm/sources/data/sfm/parking_sfm.mp4

I just can’t play my NVR downloaded mp4’s or RTSP streams from my NVR which as mentioned worked fine before.
This means I can’t use OpenALPR at the moment as it can’t stream to cams

Hi,
It does not show any error in the log. It sees end of stream and terminates playback without issue.
Are you able to share Cam6GarageDoor.mp4? So that we can reproduce it and do further check.

Sure, here is a file - Dropbox - Error

I have just done a brand new install to Jetson 4.2 with all modules (Cuda etc).
Installed gstream from the guide & still fails.

Hi,
It seems to be an issue in the file itself. After re-muxing it via ffmpeg, it can be played well.

$ ffmpeg -i 20190827.155716.TGAGarageStreet.mp4 -vcodec copy -an a.mp4

Odd. Can I pm you a RTSP stream url to see if it works for you. Like I said it worked just fine in the original load that came with the Xavier when it shipped, but I Jetson installed newer versions :(

Other than the aac stream for audio in the original, they are very similar characteristics

nvidia@ubuntu-xavier:~/Downloads$ diff 2019.txt a.txt 
7c7
< codec_time_base=1/30
---
> codec_time_base=337789/10125000
30,31c30,31
< r_frame_rate=15/1
< avg_frame_rate=15/1
---
> r_frame_rate=120/1
> avg_frame_rate=5062500/337789
35,36c35,36
< duration_ts=2702312
< duration=30.025689
---
> duration_ts=2702340
> duration=30.026000
40c40
< nb_frames=N/A
---
> nb_frames=450
55d54
< TAG:creation_time=2019-08-27T05:16:09.000000Z
58d56
< TAG:encoder=EvoStream Media Server

Hi,
Please check if you can run this sample

will try soon, just in the middle of a Jetson 4.2.1 install to try again

Hi icepicknz,

Any update? Still an issue on your device?