For HLS, the createhlsstream API command defaults to 10-second chunk lengths. A delay of 3 chunk lengths is typical during playback of HLS. To reduce HLS playback latency, you can reduce the chunklength parameter in the createhlsstream command. If you get acceptable video with a chunklength of 5, the latency will be around 15 seconds.
For RTSP, there could be some buffering in your player. You can try reducing the buffer size of your player. There might also be some network issues between the EMS and your stream source. Please check the logs for any errors.