In VLC take a look at Tools > Codec info. Is there two sets of audio and video info? That indicates that UDP ports are blocked or not mapped properly. VLC is able to failover from UDP to TCP, and that is why you see two audio and two video blocks in that case. However many Android and other devices use UDP and are not able to failover.
What player are you testing playback in? What are the codec details of the stream?