DS 6.0.1 Docker l4t Jetson Bug rtsp output h265

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Jetson
• DeepStream Version 6.0.1
• JetPack Version (valid for Jetson only) 4.6.1
• TensorRT Version 8.2.1
• Issue Type( questions, new requirements, bugs) Bug
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)

Use Jetpack 4.6.1, download either docker 6.0.1-triton or 6.0.1-iot. Use deepstream-test5 app and have a rtsp camera as a source. Set a sink as per below:

[sink2]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File
type=4
sync=0
source-id=0
gpu-id=0
nvbuf-memory-type=3
#1=h264 2=h265
codec=2
bitrate=4000000
iframeinterval=10
rtsp-port=8554
udp-port=5400
profile=0

Run the app and then try and view the RTSP output. It has a very strange problem where there is footage playing from the demo.mp4 and with analytics line cross and then every few seconds it shows the rtsp source you have set and then flickers back to the demo.mp4 video. If I change the encoding to h264, there is no issue and it plays the correct rtsp output stream. Something happening with the h265 encoding.

Wrong stream, no idea why this is playing, then flickers to the proper rtsp camera.

some questions:
1 do you mean you have two video sources demo.mp4 and rtsp source?
2 did you modify deepstream-test5 code ? how do you modify?
3 is it reproducilbe every time? Can you upload the whole config file and execute command?

  1. See attached config file, there is only 1 input, rtsp.
  2. Nope, it is just the default deepstream-test5 app with -c to run
  3. Config below. see short video showing demo.mp4 playing even though its not in the config as input.
################################################################################
#
# Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
################################################################################

[application]
enable-perf-measurement=1
perf-measurement-interval-sec=600

[tiled-display]
enable=1
rows=1
columns=1
width=1920
height=1080
gpu-id=0
#(0): nvbuf-mem-default - Default memory allocated, specific to particular platform
#(1): nvbuf-mem-cuda-pinned - Allocate Pinned/Host cuda memory, applicable for Tesla
#(2): nvbuf-mem-cuda-device - Allocate Device cuda memory, applicable for Tesla
#(3): nvbuf-mem-cuda-unified - Allocate Unified cuda memory, applicable for Tesla
#(4): nvbuf-mem-surface-array - Allocate Surface Array memory, applicable for Jetson
nvbuf-memory-type=0

#MAIN ENTRY
[source0]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI
type=4
uri=rtsp://192.168.8.134/axis-media/media.amp
gpu-id=0
rtsp-reconnect-interval-sec=10
nvbuf-memory-type=0

[sink0]
enable=0
#Type - 1=FakeSink 2=EglSink 3=File
type=1
sync=0
source-id=0
gpu-id=1
nvbuf-memory-type=3
#1=mp4 2=mkv
#container=1
#1=h264 2=h265
#codec=1
#output-file=yolov4.mp4

#TESTING WITH CLOUD KAFKA
[sink1]
enable=0
#Type - 1=FakeSink 2=EglSink 3=File 4=UDPSink 5=nvoverlaysink 6=MsgConvBroker
type=6
msg-conv-config=naming_conv_iotedge.txt
#(0): PAYLOAD_DEEPSTREAM - Deepstream schema payload
#(1): PAYLOAD_DEEPSTREAM_MINIMAL - Deepstream schema payload minimal
#(256): PAYLOAD_RESERVED - Reserved type
#(257): PAYLOAD_CUSTOM   - Custom schema payload
msg-conv-payload-type=1
#(0): Create payload using NvdsEventMsgMeta
#(1): New Api to create payload using NvDsFrameMeta
#msg-conv-msg2p-new-api=0
#Frame interval at which payload is generated
#msg-conv-frame-interval=5
#frame-interval=100
#msg-broker-proto-lib=/opt/nvidia/deepstream/deepstream-6.0/lib/libnvds_kafka_proto.so
msg-broker-proto-lib=/opt/nvidia/deepstream/deepstream-6.0/lib/libnvds_azure_edge_proto.so
#Provide your msg-broker-conn-str here
#msg-broker-conn-str=localhost;9094
topic=output1
#new-api=0
#(0) Use message adapter library api's
#(1) Use new msgbroker library api's

#RTSP output to see analytics
[sink2]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File
type=4
sync=0
source-id=0
gpu-id=0
nvbuf-memory-type=0
#1=h264 2=h265
codec=2
bitrate=4000000
iframeinterval=10
rtsp-port=8554
udp-port=5400
profile=0

[osd]
enable=1
gpu-id=0
border-width=2
text-size=12
text-color=1;1;1;1;
text-bg-color=0.3;0.3;0.3;1
font=Serif
show-clock=0
clock-x-offset=800
clock-y-offset=820
clock-text-size=12
clock-color=1;0;0;0
nvbuf-memory-type=0

[streammux]
gpu-id=0
##Boolean property to inform muxer that sources are live
live-source=1
batch-size=1
##time out in usec, to wait after the first buffer is available
##to push the batch even if the complete batch is not formed
batched-push-timeout=40000
width=1920
height=1080
enable-padding=0
nvbuf-memory-type=0

[primary-gie]
enable=1
gpu-id=0
labelfile-path=yolov4-tiny/labels.txt
batch-size=1
#force-implicit-batch-dim=1
#Required by the app for OSD, not a plugin property
bbox-border-color0=1;0;0;1
bbox-border-color1=0;1;1;1
bbox-border-color2=0;0;1;1
bbox-border-color3=0;1;0;1
interval=0
gie-unique-id=1
nvbuf-memory-type=0
config-file=yolov4-tiny/config_infer_primary.txt

[tracker]
enable=1
# For NvDCF and DeepSORT tracker, tracker-width and tracker-height must be a multiple of 32, respectively
tracker-width=640
tracker-height=384
ll-lib-file=/opt/nvidia/deepstream/deepstream-6.0/lib/libnvds_nvmultiobjecttracker.so
# ll-config-file required to set different tracker types
# ll-config-file=config_tracker_IOU.yml
#ll-config-file=config_tracker_NvDCF_perf.yml
ll-config-file=config_tracker_NvDCF_accuracy.yml
# ll-config-file=config_tracker_DeepSORT.yml
gpu-id=0
enable-batch-process=1
enable-past-frame=0
display-tracking-id=1

[nvds-analytics]
enable=1
config-file=analytics_line.txt

I can only see one frame of demo.mp4 in you video attached, what is your device type?
using your flick.txt, I can’t reproduce the issue , the difference are rtsp source, model, config-file, here is my config
flick.txt (4.8 KB)
.
could you do some test to narrow down the issue?
1 Are there other programs running at the same time? h265 encoding will cost more resources.
2 rename demo.mp4 file, then test again, is there any error tips in terminal?(suppose it will read that file).
3 if can’t narrow down the issue in step 1, change rtsp source to video file, then test again , is there still this issue? (check out if it is related to the source).

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.