With eyeson Ghost RTMP-Server, we released a new handy application with which you can stream any RTMP- or RTSP-source into a meeting.
In this blog post, I will show you how you can set up eyeson ghost RTMP server on your PC.
You can watch the video tutorial here:
Download the .exe for the RTMP stream from our eyeson ghost repository where you find in the example section (https://github.com/eyeson-team/ghost/releases) and save it in an easy-to-access folder. In this example, we will save it to C:\eyeson.
Open Windows Powershell (or any bash you like). Typing the command ./rtmp-server_windows_amd64.exe -h
shows you the available flags:
Head over to https://accounts.eyeson.team/ and start a new meeting.
Click on the "Invite guest" icon
Now start the ghost server with ./rtmp-server_windows_amd64.exe https://app.eyeson.team/?[$GUEST_TOKEN]
- it will join the running meeting as a guest.
Alternatively, you can use ./rtmp-server_windows_amd64.exe [YourAPIKey]
to start a new meeting.
If the startup of the server is a success, you will get a response in your command prompt:
You can provide the guest-Link to participants to join the running meeting.
RTMP is more or less the standard in streaming as many devices support it, whether it is a drone or a body cam that allows you to enter an RTMP address or an app like the Larix Screencast that allows you to stream your phone or tablet.
Supposing you are in the same network as the PC, enter the IP address of your PC, followed by :1935
(the standard port used by RTMP and ghost) as the connection endpoint, stream authentication can be everything you want.
Connect your drone to your phone, and open "General Settings" in the upper right corner.
Open "Choose Live Streaming Plattform"
Click on "Custom RTMP"
Now enter the IP-Adress of your PC at the dialog "Create Custom Livestream" and tap on "Next".
Choose "Start".
Now, you can see on the left upper side if your drone is connected to the ghost server and information about the FPS (frames per second) it is streaming.
Your drone is now part of the running meeting.
If the FPS drops to 0, your drone is no longer connected.
If your source device (e.g. your drone) is not in the same network as your PC, make sure you can access the ghost server via a port forwarding, for example, use ngrok.io.
Use the TCP forwarding to get the streaming address for your device: ./ngrok tcp 1935
Example: Larix Streamcaster via ngrok.io
You can adapt various settings via flags:
--api-endpoint string
Sets a custom api-endpoint (default "https://api.eyeson.team") .
--delay int32
This flag allows you do set a custom delay in ms (default 150) if your streaming device is sending a variable fps-rate to avoid judders.
-h, --help
Summons the help for the ghost rtmp-server.
--room-id string
Sets a Room ID. If left empty, a new meeting will be created on each request.
--rtmp-listen-addr string
This flag sets the RTMP address this server is listening to (default "rtmp://0.0.0.0:1935").
--user string
Sets a custom participant/user name (default "rtmp-test").
--user-id
string Sets a user id to use.
-v, --verbose
Triggers the verbose output to display extended information.
./rtmp-server_windows_amd64.exe --user Drone --delay 60 https://app.eyeson.team/?guest=xxxxxxxxxxxxxxxxxxxxxxxx
Starts a ghost RTMP-server listening to rtmp://0.0.0.0:1935 with the user name "Drone" to join the running meeting with a delay of 60 ms.