Definitely possible. In recent versions of ffmpeg, they have added the -stream_loop flag, which allows you to cycle through the input as many times as needed.
It turns out that if you do not regenerate pts from the source, ffmpeg will drop frames after the first loop (since the timestamp will suddenly return in time). To avoid this, you need to inform ffmpeg about the generation of points, so that you increase the time stamp between cycles. This is done by calling + genpts (it must be before -i arg).
Here is an example ffmpeg call (replace $ F with your input file). In this example, two output streams are generated, and the argument -stream_loop -1 tells ffmpeg a continuous input loop. The output signal in this case is intended for a similar streaming broadcast (MetaCDN), according to your requirements.
ffmpeg -threads 2 -re -fflags +genpts -stream_loop -1 -i $F \ -s 640x360 -ac 2 -f flv -vcodec libx264 -profile:v baseline -b:v 600k -maxrate 600k -bufsize 600k -r 24 -ar 44100 -g 48 -c:a libfdk_aac -b:a 64k "rtmp://publish.live.metacdn.com/2050C7/dfsdfsd/lowquality_664?hello&adbe-live-event=lowquality_" \ -s 1920x1080 -ac 2 -f flv -vcodec libx264 -profile:v baseline -b:v 2000k -maxrate 2000k -bufsize 2000k -r 24 -ar 44100 -g 48 -c:a libfdk_aac -b:a 64k "rtmp://publish.live.metacdn.com/2050C7/dfsdfsd/highquality_2064?mate&adbe-live-event=highquality_"
source share