Have you noticed that in deepstream_imagedata-multistream.py, tiler_sink_pad_buffer_probe is attached to the sink pad of nvmultistreamtiler? In this place(after nvvideoconvert which converts the video to RGBA format), the input video format is RGBA.
But in deepstream_test_3.py, tiler_src_pad_buffer_probe is attached to pgie(nvinfer) src pad, where the video format is still NV12. So that is why the " pyds.get_nvds_buf_surface " does not work. The error message has told you the reason.