Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
blocks:live-video [2020-03-05 13:37] mattias [Local Video In] |
blocks:live-video [2025-07-17 09:33] (current) fredrik [Local Video In] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Using Live Video in Blocks ====== | ====== Using Live Video in Blocks ====== | ||
- | |||
- | Blocks 2.1 adds a a Live Video block type, which can be used along with compatible players to integrate live video. | ||
To use live video: | To use live video: | ||
Line 7: | Line 5: | ||
- Create a Live Video root block, or… | - Create a Live Video root block, or… | ||
- Add Live Video as a child block to a Composition or other suitable type. | - Add Live Video as a child block to a Composition or other suitable type. | ||
- | - Chose the desired stream type. | + | - Chose the desired stream type and other settings. |
- | - Specify the URL to the camera/ | + | - Specify the URL to the camera/ |
===== Live Video Formats ===== | ===== Live Video Formats ===== | ||
Line 14: | Line 12: | ||
The following formats are supported: | The following formats are supported: | ||
+ | - RTSP stream. Compatible with most players. Supports audio. Low delay. Supported by most video cameras and streaming boxes. | ||
+ | - RTMP stream. Compatible with most players. Supports audio. Supported by most streaming programs and many streaming devices. | ||
+ | - Local Video In. Compatible with Pixilab player v4.0. Supports audio. Very low latency. Suitable for live camera feeds. | ||
- HLS stream: Compatible with most players. Supports audio. Delay is several seconds. Supported by some streaming boxes and services. | - HLS stream: Compatible with most players. Supports audio. Delay is several seconds. Supported by some streaming boxes and services. | ||
- MJPEG stream. Compatible with most players. No audio. Low delay. Supported by many video cameras. | - MJPEG stream. Compatible with most players. No audio. Low delay. Supported by many video cameras. | ||
- JPEG polling. Compatible with all players. No audio. Low delay. Supported by some video cameras. | - JPEG polling. Compatible with all players. No audio. Low delay. Supported by some video cameras. | ||
- | - RTSP stream. Compatible with few players. Supports audio. Moderate delay. Supported by most video cameras and streaming boxes. | ||
- | - Local Video In. Compatible with Pixilab player v4.0. Supports audio. Very low latency. Suitable for live camera feeds. | ||
As you can see, there are pros and cons with the various formats, and it is sometimes not straightforward to find the ideal combination for a given source device and player combination. | As you can see, there are pros and cons with the various formats, and it is sometimes not straightforward to find the ideal combination for a given source device and player combination. | ||
- | ==== HLS Stream ==== | ||
- | HLS is generally a good format as far as players are concerned, with good quality and scalability, | + | ==== RTSP Stream ==== |
- | The [[https:// | + | This format is supported by most cameras and streaming boxes, and (since Blocks 4) by PIXILAB Player and most browsers. |
- | {{ :blocks: | + | https:// |
- | It accepts SDI, HDMI and analog audio as inputs (with passthrough), | + | A similar box from the same manufacturer |
- | ==== MJPEG Stream ==== | + | {{ : |
- | This format is also supported by many players, and is commonly supported by cameras as well. It typically has very low delay, but doesn' | + | To minimize latency, chose a small custom GOP size (for example 5 frames), or a single frame only (only I-frames). When choosing a smaller GOP structure, the bitrate may need to be increased |
- | ==== JPEG Polling | + | ==== RTMP Stream |
- | This format has many similarities with MJPEG in that it has low delay, good player compatibility | + | RTMP, while similar |
- | It is supported by some network cameras, such as the Unifi line of cameras (which do not support MJPEG). Like MJPEG, you may need to disable any authentication in the camera for Blocks to be able to read the URL. | + | One notable caveat with RTMP, that makes it different from the other streaming formats |
- | {{ :blocks:blocks: | + | This difference means that some streaming sources may have trouble connecting to Blocks unless Blocks is already expecting the stream, as Blocks won't " |
+ | Thus, to use a streaming source that expects the server to listen before it will try to connect, do one of the following: | ||
- | ==== RTSP Stream ==== | + | * Wait with starting the streaming source until you know there' |
+ | * Keep an extra " | ||
- | This format | + | The second of these options essentially makes sure that Blocks |
- | {{ : | + | Finally, due to the direction the stream is flowing in, you need to set up the stream URL at the streaming //source//, pointing it to the Blocks server using its address. Thus, if Blocks runs on 10.2.0.10, your would use a stream URL like this on the streaming source: |
+ | < | ||
+ | rtmp:// | ||
+ | </ | ||
+ | |||
+ | In Blocks, you can typically leave this set to the default URL, which means that the Blocks server will listen for this stream on all its network interfaces (if it has more than one). The default URL is | ||
+ | |||
+ | < | ||
+ | |||
+ | To use multiple RTMP streams at the same time, add a port number after the IP address, separated by a colon. The default port number used by RTMP is 1935. | ||
==== Local Video In ==== | ==== Local Video In ==== | ||
- | From Blocks | + | Blocks 4 and later supports |
- | Blocks do not support multiple | + | |
- | Prerequisits: | + | Web browser have restrictions for accessing a local video camera/ |
- | Blocks 4.0 or newer | + | |
- | Pixilab | + | |
- | Server using pixi.guide domain name. (This is the kiosk default setting as this is depending of some Chrome | + | |
- | We have tested the following | + | The following |
- | * Inogeni | + | * Epiphan AV.io 4K HDMI to USB 3 |
- | * Magwell USB Capture HDMI Gen 2 | + | * Magwell USB Capture HDMI 3 |
+ | * Inogeni 4K HDMI to USB 3 | ||
+ | |||
+ | ==== HLS Stream ==== | ||
+ | |||
+ | HLS is generally a good format as far as players are concerned, with good quality, scalability and audio. In some applications, | ||
+ | |||
+ | The [[https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | It accepts SDI, HDMI and analog audio as inputs (with passthrough), | ||
+ | |||
+ | ==== MJPEG Stream ==== | ||
+ | |||
+ | This format is also supported by many players, and is commonly supported by cameras as well. It typically has very low delay, but doesn' | ||
+ | |||
+ | ==== JPEG Polling ==== | ||
+ | |||
+ | This format has many similarities with MJPEG in that it has low delay, good player compatibility and no audio. It incurs a higher overhead, in that each image is fetched separately. This may also occasionally result in dropped frames. | ||
+ | |||
+ | It is supported by some network cameras, such as the Unifi line of cameras (which do not support MJPEG). Like MJPEG, you may need to disable any authentication in the camera for Blocks to be able to read the URL. | ||
+ | |||
+ | {{ : | ||
- | Plain game capture devices will probably not work. | ||
- | We have tested the following devices unsuccessfully. | ||
- | * Elgato CamLink 4K | ||
===== HLS Streaming Options ===== | ===== HLS Streaming Options ===== | ||
Line 99: | Line 124: | ||
* **HLS** news feed http:// | * **HLS** news feed http:// | ||
- | * **HLS** on-demand stream http://184.72.239.149/vod/ | + | * **HLS** on-demand stream http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8 |
* **MJPEG** public webcam http:// | * **MJPEG** public webcam http:// | ||
* **Polling JPEG** public webcam http:// | * **Polling JPEG** public webcam http:// | ||
+ | |||
+ | (Please note this is 3rd party links and may well come and go or even being removed permanently) | ||
Some public cameras using the " | Some public cameras using the " |