Video content management that includes a RTMP streaming server which "duplicates" your stream to multiple RTMP endpoint
- Create an 'event', with optional FB, YouTube, and Twitch account
- When the day comes, start your streaming software, and enable FB, YouTube, or Twitch.
- Stream your video to livepipe's RTMP stream endpoint.
- Your video will be saved to livepipe's storage, while it'll re-stream your video to FB, YouTube, and Twitch.
- You can watch saved videos!
- I use Docker and ffmpeg (
brew install ffmpeg
) to develop this app - so, install it first. - Run the app with
docker-compose up
. - The app will be available on
http://localhost:3000
, and the RTMP server will be available onrtmp://localhost:8956
(you can set another port on .env file). - Stream feeds using ffmpeg - on my MBP, it's
ffmpeg -f avfoundation -framerate 30 -i "0:1" -pix_fmt yuv420p -profile:v high -s 1280x720 -vb 400k -maxrate 4000k -minrate 4000k -bufsize 600k -deinterlace -vcodec libx264 -preset veryfast -g 30 -r 30 -strict -2 -codec:a aac -ac 1 -ar 44100 -b:a 128k -f flv rtmp://localhost:8956
.
I restrict the input format to be H264 video, AAC audio only to comply with FB/YouTube/Twitch format.
You can find out available devices with ffmpeg -devices
command. In my example, I use avfoundation
.
You can find out available hardware input devices with ffmpeg -f ${INPUT_DEVICE} -list_devices true -i ""
command. In my MBP, The webcam shows at [0]
, and my microphone shows at [1]
so I need to use -i "0:1"
flags on my ffmpeg command.