Haivision MoJoPro SRT setup: smartphone contribution with Callaba Gateway
Written by Iurii Pakholkov
Founder of Callaba. Building cloud video tools for SRT, RTMP, WebRTC, NDI, live routing, monitoring, recording, and production workflows.
Release: Callaba 8.4
Haivision MoJoPro is a mobile journalism app for smartphone-based live contribution. The practical use case is clear: a journalist, reporter, camera operator or producer can send live and recorded video from a phone into a production workflow without a dedicated hardware transmitter.
The important Callaba nuance is this: do not treat MoJoPro as a normal direct SRT encoder in every setup. The safer production workflow is MoJoPro → StreamHub receiver/gateway → SRT output → Callaba Gateway. Use direct MoJoPro to Callaba SRT only if your app version and profile explicitly expose custom SRT output fields.
This guide is written for the search intent behind Haivision MoJoPro SRT, MoJoPro StreamHub, MoJoPro multiview, MoJoPro recorder, MoJoPro playback, mobile journalism SRT Gateway and Callaba SRT Gateway.
Quick answer: how do I connect Haivision MoJoPro to Callaba Gateway?
Use Haivision StreamHub as the receiver for MoJoPro smartphone contribution, then create an SRT output from StreamHub to a Callaba SRT listener. In Callaba, create an SRT server/listener, open the selected UDP port, then configure StreamHub to send SRT to the Callaba public IP or DNS name, port, latency, stream ID if used and passphrase if encryption is enabled.
What this setup does
This workflow gets a MoJoPro smartphone contribution feed into Callaba Gateway. MoJoPro handles the phone camera workflow. StreamHub receives that contribution and provides an SRT output. Callaba receives that SRT output and becomes the cloud-side control point for monitoring, recording, playback and routing.
- MoJoPro: captures live or recorded smartphone video for professional field contribution.
- StreamHub: receives the MoJoPro contribution stream and can provide an SRT output to Callaba.
- Callaba Gateway: receives the SRT output and provides browser preview, multiview, recording, playback and routing tools.
Important SRT nuance: MoJoPro is usually part of a StreamHub workflow
A user searching for MoJoPro SRT may expect the same setup as a normal SRT encoder: enter srt://CALLABA_IP:PORT directly in the app and go live. That is not the safest default assumption for professional MoJoPro workflows.
Haivision positions MoJoPro as part of a mobile contribution workflow with StreamHub. StreamHub is the receiver/gateway layer that can receive MoJoPro and then provide SRT, SDI, NDI, HLS or other output paths depending on the deployment.
How to check direct SRT: in the MoJoPro app profile or administrator settings, look for fields such as SRT URL, Destination Address, Destination Port, or Streaming Protocol: SRT. If those fields are not present in your app/profile, use the StreamHub path instead.
Recommended workflow: MoJoPro to StreamHub, then SRT to Callaba
For most newsroom and mobile journalism setups, the clean path is:
- Phone to MoJoPro: the app handles camera, audio, streaming profile and reporter workflow.
- MoJoPro to StreamHub: Haivision’s mobile contribution layer delivers the live or recorded contribution feed.
- StreamHub to Callaba: StreamHub creates or routes an SRT output to Callaba Gateway.
- Callaba operations: operators monitor, record, play back and route the received stream.
Before you start
Prepare both parts of the workflow: the smartphone contribution side and the Callaba ingest side. Do not debug this as a single SRT cable until you know where the SRT output actually starts.
Step 1: create the Callaba SRT listener
- Open your Callaba Gateway environment.
- Go to SRT Servers and create a new incoming SRT server.
- Set the role to Listener if the UI exposes this option.
- Choose a UDP port, for example
11000. - Set latency for the StreamHub-to-Callaba SRT path, for example
200–500 msas a starting point. - Add stream ID and passphrase if your workflow requires them.
- Open the selected UDP port in the cloud firewall or security group.
- Copy the Callaba SRT publisher URL or copy the host, port and SRT settings for StreamHub.
Testing rule: prove MoJoPro to StreamHub first. Then prove StreamHub to Callaba over SRT. Do not mix both troubleshooting layers in the first test.
Step 2: configure StreamHub SRT output to Callaba
After StreamHub receives the MoJoPro feed, configure an SRT output or route from StreamHub to the Callaba SRT listener.
- Confirm the MoJoPro feed is live inside StreamHub.
- Create an output route for that feed.
- Choose SRT as the output protocol if your StreamHub version exposes this output type.
- Set StreamHub as Caller and Callaba as Listener for the simplest cloud ingest model.
- Enter the Callaba public IP address or DNS name.
- Enter the UDP port that Callaba is listening on.
- Match stream ID, latency and passphrase if used.
- Start the StreamHub output and check connection state, bitrate, codec, audio and preview in Callaba.
srt://YOUR_CALLABA_IP:11000?mode=caller&latency=300&streamid=mojopro-main
Use this as a field-format example. In StreamHub, these values may be entered as separate fields instead of a single URL.
Settings table
This table keeps the smartphone contribution layer and the SRT ingest layer separate. The SRT values that must match are usually on the StreamHub-to-Callaba leg.
| Setting | StreamHub / MoJoPro side | Callaba Gateway | Why it matters |
|---|---|---|---|
| Receiver path | MoJoPro to StreamHub | SRT from StreamHub | Separates phone contribution from Callaba ingest. |
| SRT mode | Caller output | Listener input | One side waits, the other connects. |
| Address | Callaba IP / DNS | Public endpoint | StreamHub must call the reachable Callaba address. |
| Port | Destination UDP port | Open listener UDP port | Wrong port means no connection. |
| Latency | SRT output buffer | Same policy | Helps absorb jitter on the StreamHub-to-Callaba path. |
| Stream ID | mojopro-main |
Same value if expected | Identifies the feed and can drive route logic. |
| Encryption | AES / passphrase | Same passphrase if encrypted | Encryption fails if values do not match. |
| Codec | H.264 / app profile | Receive and route | Start with the simplest profile before testing production settings. |
| Bitrate | Phone network link | Watch actual input | Actual incoming bitrate matters more than the planned profile. |
| Audio | Phone mic / source | Monitor received audio | Prove audio after ingest, not only on the phone. |
| Return feed | MoJoPro return/intercom | Separate route | Confidence video and field communication. |
MoJoPro multiview workflow with Callaba
The MoJoPro and StreamHub side solves smartphone contribution. Callaba provides the browser monitoring surface after SRT ingest. This is useful when operators want to compare a phone field feed with other feeds, watch bitrate changes, verify audio and keep route decisions visible.
Interactive check: open the Callaba multiview demo to see how received sources can look after cloud ingest.
MoJoPro recorder workflow: phone recording vs Callaba cloud recording
MoJoPro workflows can include recorded video and edited files on the smartphone side. Callaba cloud recording has a different job: it proves that the stream reached the Callaba gateway after StreamHub output.
MoJoPro also supports a store and forward style workflow: a reporter can record video on the phone, edit it, and then send the file to StreamHub instead of sending a live stream. In that case, Callaba may not receive a live SRT stream from StreamHub. If you need browser multiview, live monitoring or cloud-side recording in Callaba, use MoJoPro in a live contribution mode and send the StreamHub SRT output to Callaba.
| Layer | What it verifies | Use case |
|---|---|---|
| MoJoPro local/phone workflow | That the phone source, local recording or edited file exists. | Use for reporter-side capture, fast packages and source-side proof. |
| Callaba cloud recording | That the StreamHub SRT output actually reached Callaba. | Use when you need cloud-side proof of the received workflow. |
MoJoPro playback workflow with Callaba
Callaba playback means browser player, HLS output, embed link or a cloud route after Callaba receives the StreamHub SRT output. These links are created in Callaba after you set up a web player or HLS path for the incoming stream.
HLS playlist after Callaba ingest:
https://YOUR_CALLABA_DOMAIN/hls/mojopro-main/playlist.m3u8
Player or embed page:
https://YOUR_CALLABA_DOMAIN/embed/mojopro-main
Where the links come from: these example URLs are not generated automatically for every stream. Callaba creates them after you create a Web Player or HLS packaging path. Depending on your settings, links may include temporary tokens or authorization parameters.
Video return and intercom
MoJoPro workflows can include video return and bidirectional audio/intercom on the Haivision side. This is useful when the reporter needs to see a program feed, teleprompter or studio return while staying in contact with production staff.
Keep this separate from the Callaba ingest path. Use Callaba to receive, monitor, record and route the forward contribution stream. Use the Haivision return/intercom path for field communication and confidence monitoring.
Troubleshooting
Most problems in this setup happen because people debug the wrong layer. Phone camera, MoJoPro profile, phone network, StreamHub, StreamHub SRT output and Callaba are separate checkpoints.
1. Stream does not appear in Callaba
- Confirm MoJoPro is live and sending to StreamHub.
- Confirm StreamHub actually receives the MoJoPro feed.
- Confirm StreamHub SRT output is enabled and points to the Callaba public IP or DNS name.
- Make sure the StreamHub SRT output is set as Caller and the Callaba SRT server is set as Listener.
- Check that the Callaba UDP listener port is open.
- Check stream ID and passphrase if used.
2. Stream appears, but bitrate or quality changes
- Check mobile data and Wi‑Fi state on the phone.
- To isolate the problem, test one network path at a time: enable airplane mode, turn on only Wi‑Fi, then compare that result with 4G/5G-only operation. This helps separate cellular issues from Wi‑Fi or local network issues.
- Watch actual incoming bitrate in Callaba, not only the planned app profile.
- Lower the contribution bitrate if the phone network is unstable.
- Avoid testing with the highest quality profile before the StreamHub-to-Callaba path is proven.
3. Stream stops after several minutes
- Check phone temperature and battery state. Thermal throttling can reduce performance or stop the app.
- Keep the phone powered, ventilated and out of direct sun where possible.
- Make sure the operating system is not suspending MoJoPro in the background.
4. Connected, but no picture or no audio
- Confirm camera and microphone permissions are enabled on the phone.
- Confirm MoJoPro is using the expected camera and audio source.
- Confirm StreamHub output codec and audio settings are compatible with the Callaba path.
- Use Callaba preview or multiview to confirm whether audio exists after ingest.
5. Phone recording exists, but Callaba recording is missing
- Phone recording proves the source side, not the full cloud ingest path.
- Confirm StreamHub received the live feed while the recording was active.
- Confirm StreamHub SRT output connected to Callaba during the same time window.
- Start a Callaba recording only after the SRT input is visible and stable.
6. Direct MoJoPro to Callaba SRT does not work
- Check whether your exact app version and profile actually expose direct SRT output.
- Look for fields such as SRT URL, Destination Address, Destination Port, or Streaming Protocol: SRT in the MoJoPro app profile.
- Confirm direct SRT support for your exact app/profile through Haivision documentation or Haivision support.
- If direct SRT is not exposed, use the recommended StreamHub path.
- Do not copy settings from a normal SRT encoder guide unless the same fields exist in your MoJoPro workflow.
Official references used for this guide
Use these if you need exact Haivision product wording, MoJoPro/StreamHub relationship, SRT output behavior or app store details.
FAQ
Can Haivision MoJoPro send video to Callaba Gateway?
Yes, but the recommended workflow is MoJoPro to StreamHub, then StreamHub sends an SRT output to Callaba Gateway. Direct MoJoPro to Callaba SRT should only be used if the installed app profile explicitly supports direct SRT output.
Why use StreamHub between MoJoPro and Callaba?
StreamHub receives the Haivision mobile contribution feed and acts as the receiver/gateway. It is the clean place to create the SRT output toward Callaba.
Can Callaba record a MoJoPro workflow?
Yes. After StreamHub sends the SRT output and Callaba receives it, Callaba can record the cloud-side stream as proof that the feed reached the gateway.
Can I monitor MoJoPro in Callaba multiview?
Yes. After the SRT output reaches Callaba, operators can monitor the received feed in browser preview or multiview depending on deployment and version.
Does MoJoPro support return feed and intercom?
Yes. MoJoPro supports video return and bidirectional audio/intercom in Haivision workflows. Treat this as a Haivision contribution-side path, separate from Callaba ingest.
Final practical rule
Do not collapse the whole workflow into “MoJoPro sends SRT to Callaba” unless that is exactly how your app profile is configured. The safer production article is: MoJoPro sends smartphone contribution to StreamHub; StreamHub sends SRT to Callaba; Callaba handles monitoring, recording, playback and routing.
Last updated: May 19, 2026
Try Callaba Gateway with your MoJoPro workflow
Create an SRT listener in Callaba, send the StreamHub output to the gateway, and monitor the MoJoPro field feed before routing it to recording, restreaming, multiview, playback or player delivery.
See SRT server setup Open multiview demo Web Player docs StreamHub docs