• How to connect Axis network cameras to Wowza Streaming Engine

    Axis network cameras have built-in network connectivity for capturing and publishing live video over the Internet to Wowza Streaming Engine™ live streaming software. Wowza Streaming Engine creates Axis source settings in a stream file, which provides a method to re-stream the output from the Axis network camera to players. This article describes how to create connection settings to automatically configure Axis network cameras.

    Notes:

    Contents


    Connecting Axis network cameras
    Verifying the connection
    Playing the stream
    Accessing Pan/Tilt/Zoom (PTZ) controls
    Changing the reconnect wait time
    Customizing the stream URI
    Troubleshooting

    Connecting Axis network cameras


    Use the procedures in this section to set up the Axis source for a live application in Wowza Streaming Engine, and to set up your Axis camera to distribute video to the live application.

    Note: You can set up an Axis live source for the live application in Streaming Engine Manager first or you can set up the Axis camera to distribute video to the live application first. If you want the live stream to be available to users from the beginning, or if you want to record the live stream from the beginning using the Incoming Streams feature in Streaming Engine Manager, set up the Axis camera in Wowza Streaming Engine Manager first. The live application in the Streaming Engine will periodically try to connect to the camera until it comes online.

    Set up the Axis live source


    1. In the Wowza Streaming Engine Manager Welcome page, click Applications at the top of the page.



    2. In the contents panel, under the live application, click Sources (Live).



    3. In the Sources (Live) page, click Axis.



    4. Enter a name for the stream in Stream Name.
      Notes:
      • The name value can't contain less-than (<), greater-than (>), colon (:), quotation (' and "), forward slash (/), backslash (), pipe (|), question mark (?), asterisk (*), double-dot (..), and tilde (~) characters.

      • The stream name is used to create a stream file that replaces (aliases) the Axis camera's complex stream URI so that players can use the stream file name in playback URLs in place of the camera's complex stream name. Stream files are stored in an application's streaming file directory and have a .stream file name extension. You must enter a stream name value that creates a unique stream file name.
    5. Enter the camera's IP address in Camera IP Address. If your camera requires RTSP streaming authentication, add credentials in the following format: [rtsp-username]:[rtsp-password]@[camera-ip-address].
      Note: The camera's IP address is the network address or properly mapped domain that you set up using the AXIS IP Utility and what you use to access the camera settings.
    6. If your Axis network camera has PTZ capabilities and requires authentication, select the Enter user credentials for PTZ-capable cameras check box, and then enter your camera's PTZ User Name and PTZ Password. These credentials may differ from the camera's RTSP streaming credentials and are used to access the camera's PTZ controls from this application's Incoming Streams page. You can also edit these credentials in the application's Stream Files page after a connection is created. For more information, see Accessing Pan/Tilt/Zoom (PTZ) controls.



    7. Click Create Connection to connect to the stream. If the camera is offline, the stream file will try to connect to it every 3 seconds until it can establish a connection. For more information about how to change the connection retry interval, see Changing the reconnect wait time.

    8. If you've already set up your Axis camera to distribute video to the application, verify that the stream is published.

    Set up the Axis camera


    Make sure you have the latest firmware for your camera installed. Refer to your Axis camera User Manual for details about how to operate your camera and adjust settings in the live viewer such as Resolution, Bit rate, and Frame rate.

    To start distributing the video, on the AXIS Media Control viewer toolbar, click the streaming Play button.

    Verifying the connection


    To verify that the stream is published, click Incoming Streams for the live application in Wowza Streaming Engine Manager, and then click the stream name.




    The information page for the stream displays the uptime, network throughput, and other information about the published stream.



    Playing the stream


    To play the stream over various streaming formats, do the following:

    1. Click Stream Files for the live application in Wowza Streaming Engine Manager, and then click the name of the stream file in the list that's re-streaming your Axis camera output.



    2. Click Test Players in the upper-right corner of the stream file page. The Test Players window that opens includes test players that are preconfigured to stream a live stream named myStream.stream over various streaming formats. Each tab in the Test Players window either hosts a test player that you can use to play the live stream or provides instructions for playing the live stream. For example, to use the Adobe HDS protocol to play myStream.stream, click the Adobe HDS tab, and then click Start.


      The test players are also online on our Wowza Test Players webpage.

    Example players

    You can also use example players that are included with Wowza media server software or downloaded from the Wowza website to play the stream. For more information, see the following articles:


    Note: The example players are preconfigured to play a stream named myStream. To use the example players to play the broadcast from your Axis camera, be sure to substitute the name of the stream file that's re-streaming your Axis camera output in place of myStream in the playback URLs.

    Accessing Pan/Tilt/Zoom (PTZ) controls


    In Wowza Streaming Engine 4.2 (and later), you can control your camera's PTZ features from within Wowza Streaming Engine Manager by launching the Pan/Tilt/Zoom Controller from the Incoming Streams page.

    To access PTZ controls in your camera:

    1. In Wowza Streaming Engine Manager, create a connection from your live application to your camera and then verify that you are connected to the camera's stream.

    2. If you didn't enter your camera security credentials when creating the connection, edit these settings on the Stream Files page. In the live application's Stream Files page, click the Edit icon for the stream file connecting to your Axis camera, ensure the correct user credentials are entered into PTZ User Name and PTZ Password, and then click Save.

    3. In the contents panel for your live application, click Incoming Streams, and then click the Pan Tilt Zoom icon for the stream connecting to your Axis camera. A dialog box appears with camera controls and a preview of the camera feed. The preview image is a static capture that will refresh frequently. For more information on changing this refresh rate, see How to specify per-stream settings in .stream files.



      Note: Different camera models implement the PTZ features in different ways. If your camera doesn't respond to these controls, it may not be supported at this time.
    4. To pan and tilt the camera, use the four-way cursor buttons. To return the camera to its default position, click the Reset button in the center. To zoom the camera in and out, use the magnifying glass buttons.


    5. Click Close to return to the Incoming Streams page.

    Changing Pan/Tilt/Zoom settings

    You can customize how Wowza Streaming Engine connects to your camera's PTZ controls and change values such as connection timeouts and the preview refresh rate.

    To access PTZ settings:

    1. In Wowza Streaming Engine Manager, click the Applications tab, and then Stream Files under the name of your application (such as live) in the contents panel.

    2. Click the Edit icon for the stream file in the list that will re-stream your Axis camera output.

    3. In the stream file's Properties tab, click Pan/Tilt/Zoom in the Quick Links bar.

    For more information on each PTZ property, see How to specify per-stream settings in .stream files.

    Changing the reconnect wait time


    If the Axis camera is offline, the live application will try to connect to it every 3 seconds by default until it establishes a connection. To change how often the live application will try to connect to the camera, do the following:

    1. Click Stream Files for the live application in Wowza Streaming Engine Manager, and then click the name of the stream file in the list that will re-stream your Axis camera output.



    2. Click the Properties tab.



      Note: Access to the Properties tab is limited to administrators with advanced permissions. For more information about how to configure access, see Manage credentials.
    3. In the Common section of the properties page, click Edit.



    4. To change the default reconnectWaitTime property value, select the Enabled check box for the property, type an alternate value (in milliseconds) in the property box, and then click Save. The following example shows that the property value has been changed to 10000 milliseconds (10 seconds).


    Customizing the stream URI


    To properly ingest a stream from your Axis camera, you may need to manually change the stream URI's appended syntax to either match your specific camera model or specify the RTSP ports. You can also modify the stream URI to pass API query strings to dynamically modify the stream.

    To customize the stream URI:

    1. Click Stream Files for the live application in Wowza Streaming Engine Manager, and then click the Edit (pencil) icon for the name of the stream file in the list that will re-stream your Axis camera output.



    2. In Stream URI, change the rtsp://[camera-ip-address]/[camera-syntax] value as needed, and then click Save. Check SoleraTec's Axis IP Camera RTSP URLs listing to make sure the [camera-syntax] is correct for your camera model. (for example, /video1 or /axis-media/media.amp).



      Note: API Query String Parameters can be added to the end of your stream URI to enable a specific codec (if supported) or to set a pre-configured stream profile (containing a set of predefined stream settings). For example, the following stream URI can be used to enable H.264 and a stream profile named wowza:

      rtsp://[camera-ip-address]/axis-media/media.amp?videocodec=h264&streamprofile=wowza

      See your Axis camera's User Manual for more information on creating stream profiles and supported codecs as these features can differ depending on the camera model.
    3. Click Return to Stream Files.

    4. Click the Connect icon for myStream.stream, and then click OK in the Connect a Stream File dialog box.



    To verify the stream, follow the instructions in Playing the stream.

    Troubleshooting


    If you experience problems, try the following:

    Update camera firmware


    Make sure you download and install the latest firmware for your camera.

    Configure a static IP address


    In the AXIS Utility Basic TCP/IP Settings page, configure your Axis camera to have a static IP address (public or private) and ensure Default router is set to the correct router IP address.

    Check the URI syntax


    The axis-media/media.amp portion of the stream URI may differ depending on your Axis camera model. See SoleraTec's Axis IP Camera RTSP URLs listing to find the specific URI syntax for your camera. See Customizing the stream URI for more information.

    Configure port mapping


    You may need to manually allow traffic over port 554 to access your camera feed over the Internet. In the Axis Utility Advanced TCP/IP Settings page, enable NAT traversal (port mapping) for IPv4 and Enable RTSP server. Set RTSP port to 554. Refer to your Axis camera User Manual for detailed instructions about how configure and manage your TCP/IP settings. Alternatively, you can configure port mapping manually in your network router's advanced settings. Refer to your router's documentation for instructions about how to set up port forwarding.

    Change the HTTP authentication


    If you can't connect to the camera, set your camera to use HTTP Basic Authentication instead of both HTTP Digest Authentication authentication (found in the Users section of the camera's Security settings). This removes the encryption of network credentials.

    Originally Published: 03-02-2015.
    Updated: For Wowza Streaming Engine 4.2 on 08-25-2015.

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