FFMPEG - Storm Streaming Cloud

In this guide, we show you how to configure FFMPEG for streaming with Storm Streaming Cloud.

Video Tutorial

Introduction

FFMPEG is a popular command-line application for working with media files and streams. It's available for all popular operating systems. While it lacks a GUI, its capabilities are unparalleled. In this tutorial, we will demonstrate how to properly establish a connection with Storm Cloud and broadcast an MP4 file. FFMPEG can also be used for tasks like restreaming existing streams, accessing IP cameras, etc.

Practice

  1. Broadcasting a Static MP4 File

    The complete command for broadcasting a static MP4 file is as follows:

                            
    ffmpeg -re -i /users/john/Desktop/test.mp4 -c:v libx264 -preset ultrafast -tune zerolatency -c:a aac -f flv rtmp://3b2ec86f:56b47278d863e15@eu-germany01.stormstreaming.com/live/6530cdd463abad1bc9ab78bbfb728aaa52b8e779
                        
  2. Explanation

    • -re ensures that the stream maintains the original frame rate.
    • -i specifies the path to the source (in our case, an MP4 file).
    • -c:v libx264 sets the video codec; libx264 is an open-source implementation of the popular H.264 codec.
    • -preset ultrafast enables the ultrafast preset and reduces delay.
    • -tune zerolatency further reduces latency.
    • -c:a aac sets the audio codec; RTMP requires AAC.
    • -f flv sets the output format to FLV.
  3. RTMP URL & Authentication

    To authenticate a stream with Storm Cloud, you'll need to include the username & password in the RTMP link. The stream URL, stream key, username, and password can be found on the stream summary page.

                            
    rtmp://[username]:[password]@[server_hostname]/live/[streamKey]
                        

    cloud/ffmpeg/step_1_small/big_screen