jetson-inference use postnet run rtsp camera, It can be used all the time yesterday, but can’t be used when it is started today, why
posenet rtsp://admin:hk123456@192.168.1.70/h264/ch1/main/av_stream
URI -- missing/invalid IP port from rtsp://admin:hk123456@192.168.1.70/h264/ch1/main/av_stream, default to port 554
[gstreamer] initialized gstreamer, version 1.16.3.0
[gstreamer] gstDecoder -- creating decoder for admin
[gstreamer] gstDecoder -- failed to discover stream info
[gstreamer] gstDecoder -- try manually setting the codec with the --input-codec option
[gstreamer] gstDecoder -- failed to create decoder for rtsp://admin:hk123456@192.168.1.70/h264/ch1/main/av_stream
posenet: failed to create input stream
Hi @comeon, I’m not sure what updated package may be interfering with the networking, or if perhaps there is a connection issue with the camera itself. Also you could try setting --input-codec=h264 (by your camera’s URL it appears to be h264) and see if that gets you any farther.
video-viewer rtsp://admin:hk123456@192.168.1.70/h264/ch1/main/av_stream --input-codec=h264
URI -- missing/invalid IP port from rtsp://admin:hk123456@192.168.1.70/h264/ch1/main/av_stream, default to port 554
[gstreamer] initialized gstreamer, version 1.16.3.0
[gstreamer] gstDecoder -- creating decoder for admin
[gstreamer] gstDecoder -- failed to discover stream info
[gstreamer] gstDecoder -- pipeline string:
[gstreamer] rtspsrc location=rtsp://admin:hk123456@192.168.1.70/h264/ch1/main/av_stream latency=2000 ! queue ! rtph264depay ! h264parse ! nvv4l2decoder ! video/x-raw(memory:NVMM) ! nvvidconv ! video/x-raw ! appsink name=mysink
[video] created gstDecoder from rtsp://admin:hk123456@192.168.1.70/h264/ch1/main/av_stream
------------------------------------------------
gstDecoder video options:
------------------------------------------------
-- URI: rtsp://admin:hk123456@192.168.1.70/h264/ch1/main/av_stream
- protocol: rtsp
- location: admin
- port: 554
-- deviceType: ip
-- ioType: input
-- codec: h264
-- width: 0
-- height: 0
-- frameRate: 0.000000
-- bitRate: 0
-- numBuffers: 4
-- zeroCopy: true
-- flipMethod: none
-- loop: 0
-- rtspLatency 2000
------------------------------------------------
[OpenGL] glDisplay -- X screen 0 resolution: 1920x1080
[OpenGL] glDisplay -- X window resolution: 1920x1080
[OpenGL] glDisplay -- display device initialized (1920x1080)
[video] created glDisplay from display://0
------------------------------------------------
glDisplay video options:
------------------------------------------------
-- URI: display://0
- protocol: display
- location: 0
-- deviceType: display
-- ioType: output
-- codec: raw
-- width: 1920
-- height: 1080
-- frameRate: 0.000000
-- bitRate: 0
-- numBuffers: 4
-- zeroCopy: true
-- flipMethod: none
-- loop: 0
-- rtspLatency 2000
------------------------------------------------
[gstreamer] opening gstDecoder for streaming, transitioning pipeline to GST_STATE_PLAYING
Opening in BLOCKING MODE
[gstreamer] gstreamer changed state from NULL to READY ==> mysink
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1
[gstreamer] gstreamer changed state from NULL to READY ==> nvvconv0
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter0
[gstreamer] gstreamer changed state from NULL to READY ==> nvv4l2decoder0
[gstreamer] gstreamer changed state from NULL to READY ==> h264parse0
[gstreamer] gstreamer changed state from NULL to READY ==> rtph264depay0
[gstreamer] gstreamer changed state from NULL to READY ==> queue0
[gstreamer] gstreamer changed state from NULL to READY ==> rtspsrc0
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1
[gstreamer] gstreamer changed state from READY to PAUSED ==> nvvconv0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter0
[gstreamer] gstreamer changed state from READY to PAUSED ==> nvv4l2decoder0
[gstreamer] gstreamer changed state from READY to PAUSED ==> h264parse0
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtph264depay0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> queue0
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtspsrc0
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0
[gstreamer] gstreamer message new-clock ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nvvconv0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nvv4l2decoder0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> h264parse0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtph264depay0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue0
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtspsrc0
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstDecoder -- failed to retrieve next image buffer
video-viewer: failed to capture video frame
[gstreamer] gstDecoder -- failed to retrieve next image buffer
video-viewer: failed to capture video frame
[gstreamer] gstDecoder -- failed to retrieve next image buffer
use this to test gstream
gst-launch-1.0 rtspsrc location=“rtsp://admin:hk123456@192.168.1.70/h264/ch1/main/av_stream” ! rtph264depay ! h264parse ! omxh264dec ! video/x-raw ! nveglglessink sync=false
See this post regarding removing the gstreamer1.0-plugins-ugly package in the event of RTSP authentication errors:
If video-viewer and deepstream are still no longer working for RTSP either, you may just want to re-flash your SD card (or use the jetson-inference docker container, which should still be working)
Also you could try running export GST_DEBUG=6 before to see if more information is printed out related to the error.
Hi @comeon, if you use the docker/run.sh script in jetson-inference, it will automatically download and run it for you. First clone the repo from github if you haven’t already, then run this:
cd /path/to/your/jetson-inference
docker/run.sh
It will run some stuff and then you will be running in the container.