FFMPEG - Storm Streaming Server
In this guide, we show how to configure FFMPEG for streaming with the Storm Streaming Server.
Video Tutorial
Introduction
FFMPEG is a popular command-line application for working with media files and streams. It is available for all popular operating systems and, although it lacks a GUI, its capabilities are unmatched. In this tutorial, we will demonstrate how to properly establish a connection with Storm Server 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://admin:[email protected]/live/mystreamkey
2. Explanation:
| Parameter | Description |
|---|---|
-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:
Depending on your setup, you might need to authenticate with the Storm Streaming Server. In such cases, the proper URL should have the following structure:
rtmp://[server_hostname]/[application_name]/[streamKey]
If you need to authenticate a stream with the Storm Server, you will need to include the username and password in the RTMP link. The URL structure should look as follows:
rtmp://[username]:[password]@[server_hostname]/[application_name]/[streamKey]
If you have any questions or need assistance, please create a support ticket and our team will help you.