Live Streaming

The camera supports the ability to stream to social media platforms such as Twitch, YouTube, Facebook or any other site that accepts RTMP(S) URLs.

The livestream is transferred via RTMP as AVC/h264. For additional details about getting started with RTMP, see How to Stream.

Live streaming with camera is accomplished as follows:

  1. Put the camera into Station Mode and connect it to an access point

  2. Use Set Livestream Mode to configure livestreaming.

  3. Poll for Livestream Status until the camera indicates it is ready

  4. Set the shutter to begin live streaming

  5. Unset the shutter to stop live streaming

../_images/plantuml_ble_live_streaming.png

Metadata

The following fields are reported as RTMP Metadata :

  • creator (string) = “GoPro Hero”

  • encoder (string) = “<Serial Number>” (eg. “C35313DVT1X220”)

  • width (number) = stream resolution width

  • height (number) = stream resolution height

  • videodatarate (number) = stream bitrate

  • framerate (number) = stream framerate

  • videocodecid (number) = 7

  • audiocodecid (number) = 10

  • audiodatarate (number) = audio bitrate

  • audiosamplerate (number) = audio sample rate

  • audiosamplesize (number) = 16

  • stero (boolean) = True if audio has 2 channels, False otherwise

  • filesize (number) = size of the file (edited)

Operations

Set Livestream Mode
https://img.shields.io/badge/HERO13 Black-4363d8 https://img.shields.io/badge/HERO12 Black-911eb4 https://img.shields.io/badge/HERO11 Black Mini-46f0f0 https://img.shields.io/badge/HERO11 Black-f032e6 https://img.shields.io/badge/HERO10 Black-bcf60c https://img.shields.io/badge/HERO9 Black-fabebe
Type:

Protobuf

Note

The current Livestream Mode can be queried via Get Livestream Status

Request

Configure Live Streaming

Response: ResponseGeneric

UUID:

Command

Feature ID:
0xF1
Action ID:
0x79
Message:

RequestSetLiveStreamMode (docs) (source)

Response

Generic Response used across many response / notification messages

UUID:

Command Response

Feature ID:
0xF1
Action ID:
0xF9
Message:

ResponseGeneric (docs) (source)

Get Livestream Status
https://img.shields.io/badge/HERO13 Black-4363d8 https://img.shields.io/badge/HERO12 Black-911eb4 https://img.shields.io/badge/HERO11 Black Mini-46f0f0 https://img.shields.io/badge/HERO11 Black-f032e6 https://img.shields.io/badge/HERO10 Black-bcf60c https://img.shields.io/badge/HERO9 Black-fabebe
Type:

Protobuf

Request

Get the current livestream status (and optionally register for future status changes)

Response: NotifyLiveStreamStatus

Notification: NotifyLiveStreamStatus

UUID:

Query

Feature ID:
0xF5
Action ID:
0x74
Message:

RequestGetLiveStreamStatus (docs) (source)

Response

Live Stream status

Sent either:

UUID:

Query Response

Feature ID:
0xF5
Action ID:
0xF4
Message:

NotifyLiveStreamStatus (docs) (source)

Notification

Live Stream status

Sent either:

UUID:

Query Response

Feature ID:
0xF5
Action ID:
0xF5
Message:

NotifyLiveStreamStatus (docs) (source)