• How to use MPEG-TS to distribute live streams

    The Stream Targets feature in Wowza Streaming Engine™ live streaming software allows you to send live streams to widely distributed destinations. For example, you can send a live stream from a server running Wowza Streaming Engine software to any MPEG-TS destination. This allows you to use the MPEG-TS destination to deliver the stream to viewers.

    This article explains how to set up Wowza Streaming Engine so that you can send a single live stream to any generic MPEG-TS destination for distributed delivery. If you're ingesting a source stream in multiple bitrates or transcoding in Wowza Streaming Engine and want to send an adaptive bitrate set of streams to your destination, you must create a Stream Target for each rendition and configure a corresponding stream in your destination. The process will be similar to what's documented here, but see the documentation provided by the destination CDN or service for help configuring it to ingest multiple bitrate streams.

    Note: Wowza Streaming Engine 4.2 or later is required. In earlier versions of Wowza media server software, you must use the Push Publishing module to send live streams to MPEG-TS destinations.

    Contents


    Configure the MPEG-TS destination to receive and distribute the stream
    Create an application in Wowza Streaming Engine to ingest the live source video
    Create a stream target to send the stream to the MPEG-TS destination
    Enable Stream Targets
    Test the connection
    More resources

    Configure the MPEG-TS destination to receive and distribute the stream


    Your MPEG-TS destination might be almost anything--a third-party CDN or a video-sharing site, perhaps. Sign in to the destination's dashboard or video management tool and create an application or stream that will deliver the live event to viewers. You may need to provide the site with information about your Wowza Streaming Engine setup such as the IP address of the server running Wowza Streaming Engine. You can find the IP address in the Connection Settings panel of the Home page of Wowza Streaming Engine Manager.

    After you've configured the live stream or application in the MPEG-TS destination, make note of the stream name and host domain or IP address. You'll need this information when you create the live application in Wowza Streaming Engine that sends the stream to the MPEG-TS destination.

    Create an application in Wowza Streaming Engine to ingest the live source video


    Next, create a live application in Wowza Streaming Engine that will receive the live stream from an H.264 encoder or camera and send it to the MPEG-TS destination for distributed delivery.

    Note: If you're trying to re-stream a video on demand (VOD) asset as a live stream for use with an MPEG-TS stream target, see How to schedule streaming with Wowza Streaming Engine (Stream Publisher).
    1. Sign in to the Wowza Streaming Engine manager, click the Applications tab at the top of the page, and then click live in the contents panel.

      Note: This article uses the live application that installs with Wowza Streaming Engine. If you want to use a different live application, select it instead from the contents panel.
    2. In the contents panel, click Sources (Live).

    3. Select the camera or encoder that you want to use as your video source, and complete the process of connecting the source to Wowza Streaming Engine. For more information, see How to connect a live source to Wowza Streaming Engine.

    Note: By default, Wowza Streaming Engine requires RTMP and RTSP sources to provide a user name and password to connect to a live application. For information on how to turn off authentication, see Managing live source authentication settings.

    Create a stream target to send the stream to the MPEG-TS destination


    After the live application is created in Wowza Streaming Engine, it must be configured to send the stream to the MPEG-TS destination.

    1. In the contents panel, click Stream Targets and then click Add Stream Target.

    2. On the Select Destination page, select Other MPEG-TS and then click Next.

    3. On the Destination Options page, click Next. You're sending the stream to an MPEG-TS target.

    4. On the Configure Target page, provide the following information:

      • Stream Target Name - A descriptive name for this target setup in Wowza Streaming Engine. The name must be unique and can't contain less-than (<), greater-than (>), colon (:), quotation (' and "), forward slash (/), backslash (), pipe (|), question mark (?), asterisk (*), double-dot (..), or tilde (~) characters.

      • Source Stream Name - The name of the incoming stream that you specified in Wowza Streaming Engine when you set up the video source.

      • Destination Stream Name - The name of your stream in the MPEG-TS destination.

      • Destination Host - The hostname or (multicast or unicast) IP address of the MPEG-TS server.

        Note: Multicast IP addresses traditionally range from 224.0.0.0 to 239.255.255.255.
      • Destination Port - The port number for your connection. MPEG-TS connections use port 1935 by default.

      • Time To Live - When streaming over multicast, this is the time to live (TTL) value, in seconds, for the UDP packets.

      • RTP Wrap - Select this option to wrap the MPEG-TS stream in RTP, otherwise leave this option clear. If your destination server expects or requires the MPEG-TS stream to be sent using the RTP protocol, then you must enable RTPWrap.

    5. Click Finish.

    Note: If you're sending a stream that has multiple bitrates to your MPEG-TS target, you must create a stream target for each rendition. Repeat the steps above in Create a stream target to send the stream to the MPEG-TS destination for each rendition that you want to send to the MPEG-TS destination for adaptive bitrate playback. The easiest way to do this is to create the first stream target, and then click the Copy icon for the target and change the Stream Target Name, Source Stream Name, and Destination Stream Name in the new target. For clarity, we recommend including the bitrate in the Stream Target Name.

    Enable Stream Targets


    Before you stream, make sure to enable the Stream Targets feature for the Wowza Streaming Engine application and for the MPEG-TS stream target you created.

    If you don't see a checkmark next to Stream Targets in the contents panel of the application, click Stream Targets in the contents panel and then click Enable Stream Targets. When prompted, click Restart Now so your change takes effect. When Stream Targets is enabled, a checkmark appears next to Stream Targets in the contents panel and the Stream Targets page shows Status is Enabled.



    If the Status of an individual stream target is Disabled, click the Enable icon for the stream target in the Actions column.



    When a stream target is enabled, its status on the Stream Targets page is one of the following:

    • Waiting. The target is enabled but not yet pushing the stream to the target destination because either the target's configured source stream isn't connected to the Wowza Streaming Engine input or Wowza Streaming Engine hasn't finished initializing the connection to the target destination.

    • Active. The stream is actively being pushed to the configured Destination Host IP address and Destination Port(s).

    • Error. The Wowza Streaming Engine instance unsuccessfully tried to push the stream to the configured Destination Host IP address and Destination Port(s). Make sure the target's configured source stream is connected to the Wowza Streaming Engine input. Errors might be due to an invalid target configuration.

    The status of each stream target updates automatically if your Wowza Streaming Engine application has fewer than 100 stream targets. If your application has more than 100 stream targets, you can click Refresh to update the status.

    Test the connection


    Configure your encoder and then test the live stream.

    1. Start the stream in the H.264 camera or encoder that's sending the stream to the live application in Wowza Streaming Engine.

      The live application ingests the live stream and sends it to the MPEG-TS target.

    2. In Wowza Streaming Engine, verify that the stream is working by clicking Incoming Streams, and then clicking the stream name.

      The stream detail page displays the Status of the stream (Active) as well as details about connections, uptime, and throughput for the live stream.

    3. Verify that your MPEG-TS target is receiving, publishing, and distributing the stream as you've configured it to do.

    4. Stop the stream in the source camera or encoder to end your test connection.

    Test multicast stream in VLC


    VLC Media Player is a good way to test multicast MPEG-TS streams that are wrapped in RTP. To play the stream in VLC, you must switch VLC from HTTP streaming to RTP/RTSP streaming and provide the URL for the stream. For more information, see How to configure VLC media player to play RTSP/RTP streams from Wowza Streaming Engine.

    More resources




    Originally Published: 06-16-2015.
    Updated: For Wowza Streaming Engine 4.4 on 02-02-2016.

    If you're having problems or want to discuss this article, post in our forum.