Real-Time Messaging Protocol (RTMP) was initially a proprietary protocol developed by Macromedia for streaming audio, video and data over the Internet, between a Flash player and a server. Macromedia is now owned by Adobe, which has released an incomplete version of. The server software that provides and manages the video media content remotely called Video Streaming Servers. Not all the video players can work with the video streaming servers instead of that it needs a perfect video player that can work with the remote servers to buffer and play it without downloading such as VLC. RTMP Republishing and Playback; RTMP is actually remarkably light on system resources. Essentially it just grabs data from the input and forwards it on to the output, simple data transfer. In order to setup your Own RTMP Server a VPS. I especially recommend Vultr or Digital Ocean as providers. Just make sure you have sufficient bandwidth. RTMP Server is the leading provider of Managed RTMP Servers. With RTMP Server selection you can have your wowza rtmp, adobe media or red5 ready in a few minutes.
To complete this tutorial, install the following software:
FlashMedia Live Encoder captures live audio and video, encodes it, and streamsit to Adobe Media Server. Flash Media Live Encoder is free so it’sa good idea to download the latest version.
You can use any edition of Adobe MediaServer to stream live media, including the free developer edition.For information about installing the server, see Installing the server.
This tutorial usesa video player that requires Flash Player 10.
For more information, see Supportedclients, encoders, codecs, and file formats and Pre-builtmedia players.
Open Flash Media Live Encoder and do the following in theEncoding Options panel:
From the Preset menu, chooseHigh Bandwidth (300 Kbps) - H.264.
You can choose any ofthe single stream options (not Multi Bitrate) from the Preset menu.The information on the left side of the panel is filled in when youchoose a preset.
For AMS URL, enter rtmp://localhost/live.
Use localhost fortesting when Flash Media Live Encoder and Adobe Media Server areon the same computer. In a production environment, use the domainname or IP address of the computer hosting Adobe Media Server, forexample, rtmp://ams.mycompany.com/live.
If you’re using aAdobe Media Server hosting provider, they can give you the domainname or IP address of the server.
You must use the name live inthe AMS URL unless you duplicate and rename the live service. Thelive service is a pre-built application on Adobe Media Server installedto rootinstall/applications/live. For more information, see Duplicatethe live service.
To save a recording of the stream on your hard drive, selectSave to File, click Browse, and choose a location. If you chosean H.264 preset, use an .f4v filename extension. If you chose aVP6 preset, use an .flv filename extension.
Note that theserver is not recording the file; Flash Media Live Encoder is recordingthe file. To serve the file on-demand when the live event is over, copythe file to the local disk of the server. D3d drivers with hardware acceleration igi project download. For more information,see Stream on-demandmedia (RTMP).
To play an F4V file recorded by FlashMedia Live Encoder without streaming it from the server, use the F4VFlattener tool to flatten the file. You can play FLV fileswithout flattening them.
Click Start to connect to the server and start streaming.
Use the Adobe Media Server sample player to playa live stream
Double-click the rootinstall/samples/videoPlayer/videoplayer.htmlfile to open the sample video player in a browser.
Note:
Substitutethe Adobe Media Server installation directory for rootinstall.
In the sample video player, do one of the following:
In the list of videos, click “livestream”.
Enter rtmp://localhost/live/livestream, check theLIVE checkbox, and click PLAY STREAM.
If the media playerisn’t on the same computer as Adobe Media Server, replace localhost withthe domain name or IP address of the computer hosting Adobe MediaServer.
Use this URL to play this stream from any compatiblevideo player, including Flash Media Playback and Strobe Media Playback.For more information about the sample video player and other videoplayers, see Pre-builtmedia players.
Load the Flash Media Playback Setup page in a web browser.
Enter the Video Source:
rtmp://localhost/live/livestream
Youcan replace localhost with the domain name or IP addressof the server.
To use the player in your own HTML page, copy the embed codeand paste it into your page. Flash Media Playback is a compiledSWF file hosted by Adobe.
Use the following values to publish a single live streamto Adobe Media Server for streaming over RTMP:
AMS URL: rtmp://ams-ip-or-dns/live
Stream: streamname
Use the following URL to play a live stream:
rtmp://ams-ip-or-dns/live/streamname
You can create as many instances of the live service asyou need.
Create a folder in the rootinstall/applicationsfolder, for example, rootinstall/applications/live2
Copy the main.far, Application.xml, allowedHTMLdomains.txt,and allowedSWFdomains.txt files from the rootinstall/applications/livefolder to the live2 folder.
Open the ams.ini file (located in rootinstall/conf)and add a parameter to set the content path for the new service,for example:LIVE2_DIR = C:Program FilesAdobeAdobe Media Server 5applicationslive2
Open the Application.xml file in the rootinstall/applications/live2folder and edit the virtual directory to the following:
Clients can connect to the new publishing point at the URL:
Note:
You cannot modify server-side code in the live serviceon Adobe Media Server Standard.
Remove the rootinstall/applications/live/main.farfile and replace it with the rootinstall/samples/applications/live/main.ascfile.
Move any live services folders out of the applicationsfolder.
In this tutorial we'll use a Raspberry Pi to build an RTMP server that plays out any video stream it receives over the Raspberry Pi's HDMI port automatically. This effectively turns a Raspberry Pi into a Blackmagic Streaming Bridge.
You can use this to stream from OBS or an ATEM Mini across your local network or the internet, and convert that to an HDMI signal in your studio to mix with other HDMI sources locally.
Here's a list of all the parts you'll need for this.
Of course, you'll need a Raspberry Pi. It doesn't need a ton of RAM, I got one with 4GB but it would probably work fine with 2GB as well. I prefer to buy the parts individually rather than the full kits, but either way is fine. If you get the bare Raspberry Pi you'll need to make sure to get a good quality power supply like this one.
I have tested this on a Raspberry Pi 3, and it does work, but there's much more of a delay, so I definitely recommend doing this with a Raspberry Pi 4 instead.
Get a good quality SD card for the Pi. We won't be doing anything super disk intensive, but it will generally perform a lot better with an SD Card with an 'A1' or 'A2' rating. You don't need much disk space, 16gb, 32gb or 64gb cards are all good options. The 'A1' or 'A2' ratings mean the card is optimized for running applications rather than storing photos or videos. I like the Sandisk cards, either the 32gb A1 or the slightly faster 64gb A2.
You'll need a case for the Pi as well. I like this one which is also a giant heat sink so that it's completely silent.
The Raspberry Pi 4 has a Micro HDMI port rather than a full size, so you'll need a cable to plug that in to a regular size HDMI port like this one.
Make sure you have your Raspberry Pi and whatever device you're streaming from connected via a wired network. While this will probably work over wifi, I wouldn't count on wifi to be reliable or fast for this.
First, head over to raspberrypi.org/downloads to download the Raspberry Pi Imager app. This app makes it super easy to create an SD card with the Raspberry Pi OS.
When you choose the operating system to install, select 'Other'
then choose 'Lite'
We don't need a desktop environment for this so it will be easier to use the command line.
Go ahead and write this to the SD card, then take out the SD card and put it into the Raspberry Pi.
The first time you boot it up it will take a few seconds and then it will prompt you to log in.
Log in using the default username and password. Enter the username 'pi', and then type the password 'raspberry'. You won't see the password as you're typing it.
It's a good idea to change the password to something else, so go ahead and do that now. Type:
and choose the first option in the menu by pressing 'Enter'. When you type the new password, you won't see it on the screen, but it will ask you to type it twice to confirm. Press 'tab' twice to select 'Finish' to close out of this menu.
Next we need to configure the video mode so we know what kind of signal the Raspberry Pi will be sending on the HDMI port. You'll need to edit a text file to make these changes.
This will launch a text editor to edit this file. We need to change the following things in the file. These may be commented out with a #
so you can delete that character to uncomment the line and make the necessary changes. These options are documented here.
To save your changes, press Ctrl+X and then 'Y' to confirm, then 'Enter'. At this point we need to reboot to make the changes take effect, so type:
and wait a few seconds for it to reboot.
We'll be using nginx with the RTMP module as the RTMP server, and then connect omxplayer to play out the stream over the HDMI port.
Install the necessary software by typing:
We need to give nginx permission to use the video port, so do that with the following command:
Now we need to set up an RTMP server in nginx. Edit the main nginx config file:
Scroll all the way to the bottom and copy the below text into the config file:
The magic sauce here is the exec
line that starts omxplayer. omxplayer is an application that can play an RTMP stream out over the Raspberry Pi's HDMI port. The exec
line will run this command whenever a new RTMP stream is received. The stream key will be set to the $name
variable. Note that this means any stream key will work, there is no access control the way we have it configured here. You can read up on the RTMP module if you'd like to learn how to lock down access to only specific stream keys or if you want to enable recording the stream.
Save this file by pressing ctrl+X, then Y, then enter.
To test the config file for errors, type:
If that worked, you can reload nginx to make your changes take effect:
At this point the Raspberry Pi is ready! You can now stream to this box and it will output the received stream over HDMI! Any stream key will work, and you can stream using any sort of device or software like OBS. You'll need to find the IP address of the Raspberry Pi which you can do by typing
To stream to the Raspberry Pi, use the RTMP URL: rtmp://YOUR_IP_ADDRESS/live
and anything as the stream key.
We'll now walk through setting up an ATEM Mini Pro to stream to the Raspberry Pi.
If you're familiar with customizing your ATEM Software's Streaming.xml
file, you can add a new entry with the Raspberry Pi's IP address. But there is another way which I like better, which is to create a custom streaming file that you can send to a remote guest and they can add it in their Software Control app without needing to edit any XML.
Create a new XML file with the following contents. This is the contents of one of the <service>
blocks from the Streaming.xml
file, wrapped with a <streaming>
element.
Replace the IP address with your own, and you can customize the <name>
as well which will show up in the ATEM Software Control. Save this file with an .xml
extension.
In the ATEM Software Control app, click 'Stream' from the menu bar, choose 'Load Streaming Settings', and select the XML file you created.
This will create a new option in the 'Live Stream' section where you can stream to the Raspberry Pi instead of YouTube!
Go ahead and enter a streaming key now, it doesn't matter what you enter since there is no access control on the Raspberry Pi. Click 'On Air' and in a few seconds you should see the image pop up on the Raspberry Pi!