Skip to content

Larix Broadcaster iOS connectivity

Softvelum edited this page Mar 2, 2023 · 13 revisions

Here is a regression testing plan of Larix Broadcaster application for iOS.

Release life cycle

This is the usual cycle of Larix Broadcaster releases for iOS.

  1. Developers make initial testing.
  2. New release is uploaded to Test Flight.
  3. Test team runs regression tests set which is defined based on the introduced changes.
  4. If some updates are needed, they are released into Test Flight.
  5. After internal testing, the build is promoted into production.

Some notes on tests table:

  • Larix is set to stream 720p@30fps encoded to H.264 unless otherwise is specified.
  • Target application is the receiving software which this test is run with.
  • We use Larix Grove for easier setup of connections' details on testers' devices.
  • Each test is run for 5 minutes unless otherwise is specified: we test if the connection is established and the content is delivered.
  • No authentication is set by default, unless otherwise is specified in tests.
  • Plus (+) symbol means this test is performed via this protocol. If the cell is empty, the test is not run.
  • Each applicable test is set up on tester's device using test case scenario. The results are checked on receiver side using its playback.
  • Detailed test cases' scenarios are not listed here at the moment.

Full regression test

# Feature Test Name Target Application RTMP SRT RTSP RIST WebRTC Comments
1 Basic streaming Nimble + + + + + Stream into Nimble Streamer
2 Nimble SSL Nimble + RTMP over SSL
3 RTMP Auth Nimble + Target type="RTMP authentication" user+password
4 URL Auth Nimble + Target type="Default", URL-based authentication with "rtmpauth="
5 RTSP Auth Nimble + Standard RTSP authentication user+password
6 Nimble streamid Nimble + Test SRT streamid parameter
7 SRT passphrase Nimble + Test SRT encryption
8 Stream pause Nimble + + + During broadcast, long tap on Start sets the stream on pause. Check that video and audio are in sync after these pauses.
9 Video-only Nimble + + + + Set all connections into video-only mode
10 Audio-only Nimble + + + + Set connections into audio-only mode
11 Full audio-only capture Nimble + + + + + Settings / Audio / Audio-only capture disables video preview and sends audio-only streams
12 HEVC to Nimble Nimble + + + + Check if H.265 is delivered and played
13 IPv6 Nimble + make sure IPv6 delivery works
14 Endurance test Nimble + + + Make it sweat! Run 3 simultaneous connections for at least 1 hour without stopping, periodically set pauses, switch cameras etc.
15 Basic Wowza Wowza + + + Stream into Wowza Streaming Engine
16 RTMP Auth Wowza + Wowza Engine with Target type="RTMP authentication"
17 Wowza SSL Wowza + RTMP over SSL
18 Wowza HEVC Wowza + + Check if HEVC is delivered and played via Wowza Engine
19 Wowza Cloud Wowza Cloud + + + Stream into Wowza Streaming Cloud
20 Cloud RTMP Auth Wowza Cloud + Wowza Cloud with Target type="RTMP authentication"
21 YouTube YouTube Live + YouTube has its specific requirements for ingest
22 Facebook Facebook Live + Facebook works only via RTMPS
23 Twitch Twitch + Twitch is easy to stream
24 SRTMini streamid SRTMiniServer + Test SRT streamid parameter with SRTMiniServer
25 Basic vMix vMix + Stream into vMix
26 SRT OBS OBS + Stream into Open Broadcaster Software OBS Studio media source
27 Basic SRT srt-live-transmit + Use srt-live-transmit official reference tool from SRT Alliance
28 Stransmit streamid srt-live-transmit + Test SRT streamid parameter
29 SRT passphrase srt-live-transmit + Test SRT encryption
30 HEVC SRT srt-live-transmit + Check if H.265/HEVC is delivered and played
31 RIST ristreceiver + ristreceiver is an official reference tool from libRIST library
32 HEVC RIST ristreceiver + Check if HEVC is delivered via ristreceiver and played
33 RIST auth ristreceiver + Test RIST with password
34 RIST Main ristreceiver + RIST Main profile
35 RIST Simple ristreceiver + RIST Simple profile
36 Dolby.io WebRTC Dolby.io + Basic streaming
37 CloudFlare Stream WebRTC CloudFlare Stream + Basic streaming
Clone this wiki locally