Jetson xavier agx opencv videocapture false/failed when local video

my code like this
import cv2
try:
capture = cv2.VideoCapture("/home/nvidia/guoxiaolu/testvideo/v5_10.39.241.47.avi")
except Exception as e:
print(e.message)
print(capture.isOpened())

then output
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 260
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 260
[ WARN:0] global /home/nvidia/Downloads/opencv-4.2.0.zip/opencv-4.2.0/modules/videoio/src/cap_gstreamer.cpp (1759) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module avidemux0 reported: Internal data stream error.
[ WARN:0] global /home/nvidia/Downloads/opencv-4.2.0.zip/opencv-4.2.0/modules/videoio/src/cap_gstreamer.cpp (888) open OpenCV | GStreamer warning: unable to start pipeline
[ WARN:0] global /home/nvidia/Downloads/opencv-4.2.0.zip/opencv-4.2.0/modules/videoio/src/cap_gstreamer.cpp (480) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
False

opencv version is 4.2.0. how to solve it.

see: Reading mp4 file via gstreamer in opencv