Ensemble Video utilizes the Wowza Streaming Engine to securely deliver content that is playable on as many devices as possible. Ensemble switches the video player and protocol automatically based on the playback device. In Ensemble version 4.4+, we deliver HLS as our default protocol using HTML5 and/or Flash. We deliver a full-HTML5 (no Flash) player to select devices, including all iOS devices and to Android devices on version 4.4+. Android devices running version 4.3 or older will receive an RTSP stream.
Starting in version 4.4, we use JW Player 7 as our default player (previous versions utilized JW Player 6 or Flowplayer, which is unsupported starting in Ensemble 4.5). JW Player 7 introduces the option to use HLS as the default streaming protocol instead of RTMP. The change in default protocol also allows use of the HTML5 (non-Flash) HLS player by default. These can be adjusted in Player Settings for an Organization or Institution.
Adaptive Bit Rate Streaming
With adaptive bit rate streaming (ABR), Ensemble can switch between multiple video encodings during playback to ensure the best available video quality, or to ensure a low-bandwidth video for constrained devices. Android devices older than version 4.4 cannot stream HLS reliably, so we deliver RTSP over port 554 to them. ABR is not available over RTSP, so those devices will be delivered the default encoding from the ABR recipe. All other normal playback environments support adaptive bit rate streaming. In version 4.4+, HLS ABR live streaming is also available. Contact our support team for more information.
Progressive Download Playback
In some cases, a progressive workflow may be desired, including: for connecting to a iTunes feed, or when an HTML5 player (not Flash) is preferable for PC/Mac playback. The HTML5 player enables speed control for the player on most devices. We do not currently enable progressive download playback by default. In progressive download playback, the entire video file is delivered to the client during playback, which makes it a less secure delivery method and in some cases uses more bandwidth. Additionally, adaptive bit rate playback is not available for progressive download playback. When ABR and progressive playback are combined, the default encoding from the ABR profile will be delivered. When using JW Player, a bandwidth selector is available, which allows the viewer to manually switch between the ABR encodings.
Default Encoding in ABR Media Workflows
As seen in Adaptive Bit Rate Streaming and Progressive Download Playback, not all playback environments support ABR streaming. When an ABR workflow is in use in these cases, the default encoding will be played. For the default encoding, we suggest a bit rate from 600kbps to 1mbps, and a resolution no higher than 1280 x 720 (or no greater than 640 pixels wide for H.264 Baseline 3.0 support). See Encoding Considerations below for more information.
The H.264 specification includes a Profile and Level that define the complexity and limitations of the encoding. The profile describes the capabilities of an encoding. In general, a lower profile describes encoding characteristics that are lower quality but easier to decode (play). The level describes limitations of the video, such as the maximum bit rate and maximum resolution & frame rate. All iOS devices and Android 3.0+ devices support H.264 Baseline 3.0.
iOS support for H.264
Android support for H.264
Many mobile devices do not support H.264 levels 5.1 or 5.2, which are required for 4K (4,096 x 2,160) content.
Ports Used by Ensemble Video and Wowza
Port 1935 must be open for streaming.
Port 554 must be open for RTSP streaming to older Android devices.
Port 8086 must be open if Wowza and Ensemble are installed on different servers. Port 8086 allows communication between Wowza and the Ensemble API. Generally, Ensemble and Wowza are on the same server or subnet, in which case opening the port should not be necessary. Note: some functions that are now part of the Wowza Streaming Engine Manager were formerly delivered over 8086, e.g. http://[wowza-address]:8086/connectioncounts
Port 8088 should be open to allow access to the Wowza Streaming Engine Manager. 8088 is usually only open locally, but can be made available outside of the local network if desired (and when VPN access is not an option).