# Live view

> Watching a camera live in Fregata Mobile — the controls, choosing the stream, sound, talking through a camera, zoom and full screen, moving a PTZ camera, snoozing a camera's alerts, the camera's own switches, stream stats, and what "Reduced quality" means.

Tap a camera on the Cameras tab to watch it live. The picture comes straight from your server,
through go2rtc when the camera is restreamed, in full quality and with sound.

_Picture: The Front Porch camera live in portrait: the camera's name and live status at the top with a stream chip, a speaker and a gauge; the picture; and a row of six controls under it._

1. **Back** to the cameras. Swiping in from the left edge does the same.
2. **The stream** you're watching, and its resolution.
3. **Sound**, on or off. Only there when the camera sends audio.
4. **Stream stats**: what's actually arriving. See [Stream stats](https://mobile.fregata.app/docs/cameras/live/#stream-stats).
5. **Pause**: stops the stream. **Play** starts it again.
6. **Stream**: chooses between the camera's streams. Only there when it has more than one.
7. **History**: this camera's [recordings](https://mobile.fregata.app/docs/cameras/recordings/), from a minute ago.
8. **Alerts**: [snooze this camera's alerts](https://mobile.fregata.app/docs/cameras/live/#this-cameras-alerts), or turn them off, on this iPhone.
9. **Settings**: the camera's own switches. Administrators only.
10. **Full screen**.

Under the camera's name, a word says what the stream is doing: **connecting…**, **live**,
**paused**, **idle** or **no video**.

## Zoom and full screen

- **Pinch** to zoom, up to 8×. **Drag** to look around while zoomed. **Double-tap** a spot to
  zoom in on it, and double-tap again to see the whole picture. In full screen, or with the
  iPhone on its side, a zoomed picture grows over the black bars around it, so a very wide camera
  can fill the screen.
- **Full screen** turns the picture to its own shape: landscape for an ordinary camera, upright
  for one mounted sideways to cover a hallway. It works with the iPhone's rotation lock on.
- Turning the iPhone on its side also fills the screen, unless its rotation lock is on.
- In full screen, **tap** the picture to show or hide the controls. They hide by themselves after
  a few seconds.

_Picture: The Driveway camera in full screen, zoomed to 1.5× on the car, with the controls in a glass bar across the top and a 1.5× badge._

## Move a PTZ camera

When Frigate has ONVIF set up for a camera that can pan, tilt or zoom, live view shows the same
PTZ controls as Frigate's web interface: with the other controls, or along the bottom of the
picture in full screen and landscape. A control appears only when the camera reports it can do that, and only while the camera
is on. Any account can use them, not just an administrator (Everyone on your server).

- **The arrows** pan left and right and tilt up and down. **Hold** one: the camera moves while
  your finger is down and stops when you lift it.
- **Zoom in** and **zoom out**, held the same way.
- **Focus** nearer and farther, held the same way, on a camera that can focus.
- **Tap to move**: the viewfinder button. While it's on, tapping the picture turns the camera
  to center that spot. On Frigate 0.18, dragging a box from its top left to its bottom right
  centers the box and zooms in to fill the picture with it, and dragging the other way zooms out.
  Tap the button again to turn it off and get pinch-to-zoom back.
- **Presets**: the **…** button lists the positions saved in the camera. Choose one to go there.

Moving the camera moves it for everyone watching it.

## Choose the stream

A camera can offer more than one stream. The first is always its main stream, at full
resolution. Others come from your server's configuration, most often a smaller substream, and
are named as Frigate's web interface names them. Pick one from the **Stream** control under the
picture, or in full screen, from the chip at the top.

A smaller stream is the thing to choose on a slow connection: if the picture keeps stalling, the
app says so and suggests one. The choice isn't automatic, because every switch is a short
reconnection.

On **Fregata NVR** (Fregata NVR only), the server also offers lighter versions of each
camera, made on the fly at lower bit rates. Away from home, live view opens on a lighter one by
itself; any other is a tap away, and the chip says what you're watching, such as **720p ·
1.5 Mbps**.

The server makes only the versions smaller than the camera's own picture, so a 1080p camera has
no 1080p one, and none for a camera whose video it doesn't transcode. The app asks the server
which it has and offers only those. An older server can't say, so the app offers every version
in its configuration; if you open one it doesn't have, the main stream plays instead, a line
under the picture says so, and the app stops offering that camera's lighter versions until the
app or the server restarts. If a smaller version has already played, only the missing one and
any larger ones go.

## Sound

The speaker at the top turns sound on or off for every camera at once, live and in recordings,
and the app remembers it. It's only there when the stream carries audio. Sound plays through the
speaker, headphones or AirPlay like any other video, and plays even with the iPhone's silent
switch on.

## Talk through a camera

When Frigate has two-way talk set up for a camera, live view shows **Talk**: on the same cameras
and streams as the microphone button in Frigate's web interface. It's under the other controls,
or along the bottom of the picture in full screen and landscape. Any account can use it, not
just an administrator.

- **Tap Talk** to start. The first time, iOS asks to let Fregata use the microphone. After a
  moment of **Connecting…**, what you say plays from the camera's speaker.
- It's a conversation, as on a phone call: you hear the camera while you talk, and your iPhone
  cancels the echo of its own speaker, so the person at the camera doesn't hear themselves.
  Talking turns the camera's sound on if it was off.
- **Tap Stop talking** to end it. Leaving the camera, choosing another stream or leaving the
  app ends it too, so the microphone is never left on.

Two-way talk needs:

- **The camera's two-way talk set up in Frigate**, as
  [Frigate's documentation](https://docs.frigate.video/configuration/live#two-way-talk)
  describes. If your configuration gives talk a stream of its own, as Frigate suggests, choose
  that stream under **Stream** first: Talk follows the stream, as Frigate's button does.
- **A route to your server's port 8555**, the port go2rtc uses for WebRTC. Watching goes through
  the same address as the rest of the app, but your voice goes straight to that port, not through
  a tunnel such as Cloudflare Tunnel. At home, over a VPN such as Tailscale, or with the port
  forwarded on your router, you can count on that route. With a tunnel alone, talk can still
  connect if your iPhone and server find a way through both networks using STUN, but that depends
  on your router and mobile carrier. Frigate's web interface works the same way. If talk can't
  connect, a line under the button says why.

The camera's sound comes through the talk connection when it's G.711 or Opus, which most camera
microphones are. A camera that sends only AAC still plays, but the iPhone can't cancel its echo:
use headphones, or give the camera's go2rtc stream an Opus copy, as Frigate's
[WebRTC setup](https://docs.frigate.video/configuration/live#webrtc-extra-configuration) shows.

On some cameras, the picture pauses for a moment when you start talking, while go2rtc opens the
camera's speaker. Frigate's web interface does the same.

## This camera's alerts

_Picture: The live view with the Alerts panel open: Snooze with 15 min, 1 hr, 4 hr and Other…; the Alerts from this camera switch in the Away filter; and Objects, zones, sounds and level._

**Alerts** under the picture is the quickest way to quiet one camera (This iPhone only):

- **Snooze**: holds this camera's alerts back on this iPhone for 15 minutes, an hour, four
  hours, or a time you choose with **Other…**, then ends by itself. While it's on, the control
  reads **Snoozed** and **End Snooze** ends it early.
- **Alerts from this camera**: turns the camera off in the [notification filter](https://mobile.fregata.app/docs/alerts/filters/)
  in force, until you turn it back on. Other filters keep their own setting. If no filter is on,
  turning it off starts one called **Home**.
- **Objects, zones, sounds and level**: everything else about this camera in that filter.

Nothing here changes the server or anyone else's alerts. To stop a camera's alerts for everyone,
see [Turn a camera's alerts off for everyone](https://mobile.fregata.app/docs/alerts/server-wide/).

## The camera's own switches

_Picture: The live view with Settings open: switches for Camera, Object detection, Recording and Snapshots, and the note These last until the server restarts._

With an administrator account, **Settings** under the picture turns parts of the camera on or
off on the server (Everyone on your server) (Needs an administrator). The switches are the ones Frigate's
web interface shows for that camera: **Audio detection** only when the camera's configuration
sets it up, and **Autotracking** only on a PTZ camera set up to track.

| Switch | Off means |
|---|---|
| **Camera** | The camera stops entirely: no stream, no detection, no recording. |
| **Object detection** | Frigate stops looking for people, cars and animals. Recording carries on. |
| **Recording** | Nothing is written to disk. What happens while it's off can't be recovered. |
| **Snapshots** | No still is saved with each event. |
| **Audio detection** | Frigate stops listening for sounds like barking, speech and alarms. |
| **Autotracking** | The camera stops turning to follow what it detects. |

While the camera is off, the other switches can't be changed. Nor can **Recording** on a camera
whose configuration doesn't set recording up: Frigate can only turn recording on at run time
where its configuration file allows it.

These are Frigate's own switches, the same as in its web interface, so they change things for
everyone. **They last until the server restarts**: on restart, each goes back to what Frigate's
configuration file says. To change one for good, change the configuration.

## Stream stats

The gauge at the top opens a panel of numbers about the stream as it arrives:

| | |
|---|---|
| **Stream** | Which stream, and how it's delivered: **go2rtc · MSE** normally, **Frigate · jsmpeg** for the fallback. |
| **Codec** | H.264, HEVC, or MPEG-1 for the fallback, and whether it's decoded in hardware. |
| **Resolution** and **Frame rate** | What's actually arriving. |
| **Bandwidth** | The bit rate right now. |
| **Frames** | How many were shown, and how many dropped. |
| **Latency** | The small delay the app adds to keep playback smooth. |
| **Opened in** | How long the stream took to start. |
| **Video / audio** | Whether each is flowing. |
| **Talk** | Only while you're talking: **go2rtc · WebRTC**, the connection your voice travels on. The picture keeps its own, so **Transport** still says **go2rtc · MSE**. |

They're the numbers to look at when a camera plays badly. See
[Live video problems](https://mobile.fregata.app/docs/troubleshooting/live-video/).

## Reduced quality and fallback

When the full-quality stream can't play, the app doesn't give up: it plays the best thing it
can, and a line under the picture says what and why. A **Fallback** badge marks Frigate's own
low-resolution picture, which is smaller, slower and silent.

| You see | Why | What to do |
|---|---|---|
| **This camera is not restreamed through go2rtc** | Frigate has no go2rtc stream for it, so only its fallback exists. | Add a go2rtc restream in Frigate's configuration. |
| **go2rtc could not open this camera's stream** | go2rtc couldn't reach the camera, or rejected the stream. | Check the camera's stream in go2rtc on your server. |
| **… could not be decoded, so … is playing instead** | This iPhone can't decode that stream's format. | Pick another stream, or change the camera's codec. |
| **The server does not have … for this camera, so … is playing instead** | (Fregata NVR only) That lighter version doesn't exist on the server for this camera. | Nothing: the main stream is playing. |
| **Reduced — device is warm** | The iPhone is hot, so the app lightens the load. | It returns to normal once it cools. |
| **Paused — app is in the background** | Live video only plays while the app is open. | It resumes when you come back. |

Every message, and the fix for each, is in [Live video problems](https://mobile.fregata.app/docs/troubleshooting/live-video/).
