Question:
How does a SnapStream IP to IP encoder work and what is it used for?
Answer:
The SnapStream IP to IP encoder is a specialty 1u encoder that can be installed on your local network to take in IPTV video streams that already exists on that network, re-encode them to another video transport format, and sends it back out as a network stream to be sent to your SnapStream system for recording and manipulation. Because this encoder only requires a network connection to receive and send it's streams, it doesn't actually have an input for a conventional video source interface (SDI, Component, COAX, etc.).
Why would this be useful?
- If you have UDP Multicast IPTV streams on your network that can't be accessed outside of your local network, the IP to IP encoder can pull those in, and send them back out using a more versatile transport protocol like RTMP to get them to your SnapStream system for recording.
- If your existing network IPTV streams are using MPEG2 video (not compatible with native browser playback), the IP to IP encoder and re-encode those streams to H.264 video that can natively playback in modern browsers.
- If your existing network IPTV streams are using AC3 audio (not compatible with native browser playback), the IP to IP encoder can re-encode those streams to use AAC audio that can natively playback in modern browsers.
Capabilities:
The IP to IP encoder can re-encode up to 7 different IPTV streams at once. Each of these IPTV stream configurations on the encoder are referred to as Content Streams.
How is an IP to IP encoder configured to work?
The SnapStream IP to IP encoder has it's own WebUI to use for configuration, and there are two different ways that it can be configured to work.
Option #1 (Statically assign an internal IPTV stream on your network to a different Content Stream on the encoder):
This is a good option if you have a single SnapStream IP to IP encoder, and want to be able to record up to 7 of your internal channels using SnapStream using an already existing IPTV lineup on your SnapStream server or cloud instance. You can add 7 new IPTV channels to your IPTV lineup to record the converted outputs from the 7 different content streams on your encoder.
NOTE: You can use more than one SnapStream IP to IP encoder if you want to convert more than 7 streams at once.
- Statically set each of your 7 content streams on the IP to IP encoder to listen for a different IPTV stream on your network, re-encode it, and send the newly re-encoded stream back out using a different RTMP endpoint that has been setup on your SnapStream Server or Cloud instance (example of a single content stream configuration on the encoder is below).
- Input Settings is where you specify what IPTV Stream the encoder should be listening for.
- Supported Transport Types to listen for are:
UDP Multicast
UDP Unicast
RTP Over UDP Unicast
RTP Over UDP Multicast
TCP (Connect)
TCP (Listen)
RTMP
RTMP (ALT) NOTE: This option should always be selected for RTMP streams in SnapStream Software version 9.4 and below.
HLS
MPEG-DASH - Interface: Specify what IP address setup on the encoder should be used for listening for your IPTV Stream.
- Input Processing Mode: This is where you tell your encoder how the content should be processed.
- Stream Passthrough: This does not re-encode the audio or video. The encoder will just re-package the input stream using whatever transport type you have set in your Output Settings.
- Full Stream Encoding: This will re-encode the video and audio from the input stream to whatever quality profile you specify in the Encoder Profile field. The Encoder Profile Field available once this option is selected.
NOTE: Use this option to ensure browser playback compatibility with SnapStream if you are unsure. - Audio Stream Encoding Only: This option will leave the video in the input stream alone, but will re-encode the audio to AAC for browser playback compatibility.
NOTE: AC3 Audio (aka Dolby Digital 5.1 audio) is not compatible with native browser playback in SnapStream.
- Volume Level: Here you can boost or lower the volume of the input stream that is being processed.
- Supported Transport Types to listen for are:
- Output Settings: Here is where you specify where this newly processed content will be sent to. NOTE: See RTMP Output Option on SnapStream Encoders for more detailed information on this topic.
- Support Transport Types to send are:
- RTP over UDP
- UDP
- Basic TCP
- SnapStream TCP <- another option we use for SnapStream recordings.
- RTMP <- what we typically use for SnapStream recordings.
- Interface: Specify what IP address setup on the encoder should be used for sending this output stream back out.
- Destination: Specify the details of where this output stream is going to based on the transport type that has been selected.
- Support Transport Types to send are:
- Input Settings is where you specify what IPTV Stream the encoder should be listening for.
- Setup an IPTV lineup (or edit your existing IPTV lineup) on your SnapStream Server or Cloud Instance with a channel for each output that has been configured as a destination in each stream on your IP to IP encoder.
NOTE: Each stream should have unique destination information. See RTMP Output Option on SnapStream Encoders for more information on this topic. - Check that your IPTV tuners on your SnapStream Server or Cloud Instance are set to use your IPTV lineup for recording purposes.
Option #2 (SnapStream integrated tuner/encoder mode):
This is a good option if you have more IPTV channels available to your IP to IP encoder than you want to be able to record at once. This option sets your IP to IP encoder to dynamically change what IPTV channel it is listening for on your local network based on the channel your SnapStream server needs to record at the time. The selection of IPTV channels to listen for in this configuration would come from the IPTV lineup on your SnapStream server.
- Create a new IPTV lineup on your SnapStream server or cloud instance. This will be used specifically for the IPTV tuners configured to use this IP to IP encoder as a source.
- Set each channel in this lineup according to what the IP to IP encoder will need to listen for to access it on your local network.
- On your SnapStream Server or Cloud instace, set the IPTV tuners that are dedicated to this encoder as a source to use that new IPTV lineup.
- Configure the IPTV tuners on your SnapStream Server or Cloud instance to use this new IPTV lineup.
- On your SnapStream Server or Cloud Instance, create a new SnapStream user account for your IP to IP encoder to use. Go to Admin > Security > Users
- For Cloud Instances: Click the Create API User button, and make sure to save the unique credentials. You can not look up that password again after initially creating this user, and you will need it when configuring your IP to IP encoder.
- For SnapStream Server: Click the Create Button and enter a new user called, "encoder" and give it a password to use.
- On your SnapStream IP to IP encoder, go to Settings > Misc, and configure the fields under Remote Tuning Settings (below) so that your encoder can connect and freely talk to your SnapStream Server or Cloud Instance.
- SnapStream Server Hostname: This is would be the IP address or FQDN of your SnapStream Server or Cloud instance (serverXXX.cloud.snapstream.com).
- Protocol: Specify whether the encoder needs to connect via HTTP or HTTPS to your SnapStream Server. NOTE: Cloud instances always use HTTPS.
- Username and Password will be used with the credentials you just created in the previous step.
NOTE: Don't forget to save this.
- On your SnapStream IP to IP encoder, add a Content Stream for each IPTV tuner you have on your cloud instance that is dedicated to your IP to IP encoder (example: If you have 3 IPTV tuners for your encoder to use, setup 3 content streams.) These would be setup the exact same way as in option #1 with the exceptions below.
- Set your content streams to listen for any IPTV stream as your input to start with.
- Set the output destinations to use SnapStream TCP as the transport type, and use a unique TCP port for each content stream. We like start using TCP port 1000x where x is the content stream number. This helps to keep each port number unique from the SnapStream Server or Cloud instance's point of view.
- Edit each Content Stream one at a time, turn on Integrated Encoder Mode (under Output Settings), select which Integrated Tuner on your SnapStream Server or Cloud instance you want the Content Stream to be tied to, and click the Save button.
Additional Notes:
Please contact SnapStream Support for assistance with setting up your SnapStream IP to IP encoder for the first time.
Applies to Version:
SnapStream 9.3 and above