Why UDP port fails only in Docker?

I’ve got the following docker that streams out some sample sine wav via UDP port 1234:

from ubuntu
RUN apt update
RUN apt install -y ffmpeg
EXPOSE 1234/udp
CMD ffmpeg -re -f lavfi -i aevalsrc="sin(400*2*PI*t)" -ar 8000 -f mulaw -f rtp rtp://localhost:1234

I run the container using:

docker run -p 127.0.0.1:1234:1234/udp xxxx

Now I try to open VLC and play that stream from my host machine using the stream URL rtp://@:1234 as instructed by VLC. It plays nothing. Silence. However, if I run the same ffmpeg cmd from the host machine, it works and I can hear the sample.

Any ideas what’s going on?

Source: StackOverflow