I've been streaming successfully with nginx-rtmp for a little while. Using the inbuilt push directive works great but to push to variable stream names I have to switch to using ffmpeg.
Even when I don't transcode the stream at all there seems to be a huge loss in quality.
I've tried the following but both appear grainy and low bitrate. The input stream is 720p at 1500kbps.
/usr/local/bin/ffmpeg -i rtmp://localhost:1935/input/$name -f flv rtmp://example.com/app/name
/usr/local/bin/ffmpeg -i rtmp://localhost:1935/input/$name -c:v copy -c:a copy -aspect -f flv rtmp://example.com/app/name
ffmpeg
console output for each command.