A:
You can use FFMPEG for that and use WMSPanel and Nimble Streamer to control its behavior and use its result stream.
Use task remote management interface as described in this blog post: http://blog.wmspanel.com/2014/10/server-tasks-web-management.html
The command which you need to launch is as follows:
/usr/local/bin/ffmpeg -re -i http://origin-ip-address/live/stream/playlist.m3u8 -c:v copy -c:a aac -ar 44100 -ab 128k -ac 2 -strict -2 -f flv rtmp://nimble-ip-address:1935/live/stream
Here, a "nimble-ip-address" is the interface which is used for RTMP access. The overall "rtmp://nimble-ip-address:1935/live/stream" URL can be used for further use cases like HLS transmuxing (see http://blog.wmspanel.com/2014/07/pull-rtmp-transmux-abr-hls-nimble.html)
or RTMP re-publishing:
(see http://blog.wmspanel.com/2014/10/rtmp-republishing-nimble-streamer.html)
You may set up any number of tasks of that kind and track them all via single we UI of WMSPanel.
UPDATE from May 2017
We've released HLS conversion to any transport protocol, including RTMP.
Please check this article for setup details:
http://blog.wmspanel.com/2017/05/pull-hls-streams-transmux-transcode.html