Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

Phenix supports RTSP ingest from sources such as IP cameras. In general, this is done with the WebSDK via the publish streamUri option. There is a slight latency penalty due to repackaging from RTSP input to WebRTC delivery.

When setting up RTSP ingest, consider the following questions regarding your RTSP video source:

  • Network Considerations:

    • Is it on a public network?

    • Does it have a public IP or is it behind a NAT?

    • Are you able to configure the firewall?

  • How many cameras are you looking to contribute at once?

  • Does the camera publish RTSP or is it a streaming server for RTSP? (push or pull?) Can you specify the particular camera in question?

If the camera has a built-in streaming server, it's a pull scenario, which requires remote access from the Internet. UPnP or Port Forwarding are both options but require cooperation of the network administrator. If port forwarding can be configured to allow RTSP access to the camera (TCP/UDP port 554), Phenix can usually ingest the stream from the cloud.

If access to port forwarding isn't possible, then ingest has to be performed via another connection, e.g., connect the camera to a laptop and contribute the stream via the local browser on the laptop. If many cameras are required, a machine that can support multiple cameras would be used instead of a laptop.

If the gateway will not allow access to a port, an on-network box could pull the RTSP and publish it to Phenix via RTMP. This would use something like:

ffmpeg -i "[your rtsp link]" -f flv -r -s -an "[Your rtmp link]"

If the IP camera has the ability to push RTSP, point it at the container at https://hub.docker.com/r/aler9/rtsp-simple-server. Phenix can then pull the content from that container.

Alternatively, if the camera is a private IP camera with RTSP, set up a process to pull the RTSP from the private network and publish it to the https://hub.docker.com/r/aler9/rtsp-simple-server docker container on a public network (like a DMZ) where Phenix can access it using a command such as:

ffmpeg -re -i "[the input rtsp link]" -c copy -f rtsp rtsp://host:8554/mystream

  • No labels