RTSP ingest from IP Cameras
Phenix supports Real Time Streaming Protocol (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]"