media server logo

GoPro Pay-Per-View Live Stream: Complete Setup Guide

Mar 13, 2023

This tutorial builds a complete GoPro pay-per-view workflow: publish a live feed over RTMP, verify it in Callaba, connect it to a web player, apply paid access, and test the result as a viewer. The GoPro is the contribution source; Callaba provides the ingest, monitoring, player, and access layer.

Complete the stream test before enabling payment. A working encoder preview does not prove that an unauthenticated viewer can purchase access, return to the player, and watch over HTTPS.

You will need the following components:

  1. GoPro camera
  2. Callaba
  3. PayPal account to accept payments
  4. Your live stream idea 💡

Creating an RTMP Server

1 . Open Callaba Dashboard. You can launch Callaba in the cloud or install on your server.

To launch Callaba in the cloud, you can follow our detailed guides :

Once you’ve launched Callaba, log into the dashboard.

2. Go to the RTMP Servers section

Click “Add New”

Name your RTMP Server

Port : specify port (change if needed)

Click “Save”

Illustration: Click “Save”

3. In the RTMP Players listing page, click “Info”

Copy the RTMP Player URL.

We will need this URL soon when we will be setting up our live stream with the GoPro. 

Illustration: We will need this URL soon when we will be setting up our live stream with the GoPro.

Setting up GoPro camera

1 . Turn on your GoPro camera.

Swipe down
Swipe left

Go to Connections
Wireless Connections to “On”

Go back to Connections
Click “Connect Device”
Then click “GoPro App”

Illustration: Go back to Connections Click “Connect Device” Then click “GoPro App”

2. Download and install the Quik application on your mobile device to control the GoPro camera

App Link: https://gopro.com/en/us/shop/quik-app-video-photo-editor

3. Open the installed application, go through the steps of connecting your mobile device with your camera.

Once finished, click Control Your Go Pro

4. Move the control slider to the Go Live mode and then click on the Set Up Live button that appears.

5. In the platform selection window, select Other/RTMP

Illustration: In the platform selection window, select Other/RTMP

6. Okay, now it is time to configure our stream settings.

Connect to a network : Select your WiFi

Attention! The GoPro camera must be connected to the same frequency as your mobile device. 

Enter your RTMP URL : put the RTMP Player URL you’ve copied earlier from Callaba

Resolution : specify resolution

Click “Continue”

7. Click “GO LIVE”

Illustration: Click “GO LIVE”

Now your stream is being sent to Callaba. But at this point we are not able to see it, so let’s create a Web Player.

Creating a Web Player with Pay Per View Integration

1. Back in Callaba, go to “Web Players” section

Click “Add New”

Name your player

Attention! The player’s name would be visible to your viewers. Make sure it is human-friendly.

Input type : RTMP Server

RTMP Server : select your RTMP server name

Illustration: RTMP Server : select your RTMP server name

2. Unfold “Authorization settings”

Here you can add users who have to have access to the player.

For example, your colleagues or friends you want to give free access to your content to.

In case you were selling tickets through some third-party ticketing service, you can upload a list of users who bought tickets here via a CSV upload.

Illustration: In case you were selling tickets through some third-party ticketing service, you can upload a list of users who bought tickets here

Illustration: In case you were selling tickets through some third-party ticketing service, you can upload a list of users who bought tickets here

3. Unfold “Pay Per View settings”

Payment method: Via PayPal

Client ID: put your PayPal merchant ID

Use the bitrate calculator to size the workload, or build your own licence with Callaba Self-Hosted if the workflow needs more flexibility and infrastructure control. Managed launch is also available through AWS Marketplace.

Illustration: Managed launch is also available through AWS Marketplace .

Unfold “Visual settings”

Update logo: Upload your logo

Update backround: Upload background image

Illustration: Update backround: Upload background image

Unfold “Event settings”

Event date: Here you can schedule your event for the future (if you are not going to stream right away)

Support email: specify support email for your viewers to be able to reach out to you

Illustration: Support email: specify support email for your viewers to be able to reach out to you

Click “Save”

1. Return to the Web Players listing page

Click “Preview” to see your stream coming

Illustration: Click “Preview” to see your stream coming

Click “Info” (i) icon

Copy the Web Player URL to share the link with your audience.

For embedding to your website, copy the Embed player or Embed video code.

Illustration: For embedding to your website, copy the Embed player or Embed video code.

To view your player, copy the Web Player URL and open it in the browser.

Attention! Callaba puts cookies in your browser that identify you as an admin, thus allowing you access to the video by default. As if you already bought the ticket and logged in.
To view your Per Pay View player, use an incognito mode or a different browser. Your viewers will not have these cookies, so they will see the Pay Per View window with no problems.

Illustration: Your viewers will not have these cookies, so they will see the Pay Per View window with no problems.

 

Make embedded PPV Player accessible

To embed a Web Player with Pay-Per-View monetization or user authorization on your website, you need to set up:

  • Domain name
  • SSL certificate (if you don't have your own, you can issue a free one by Let's Encrypt).

Illustration: SSL certificate (if you don't have your own, you can issue a free one by Let's Encrypt) .

If using a CDN:

Connect your subdomain, SSL, and CDN together.
Guide: 📖 Connect custom domain name to a CDN


If NOT using a CDN:

Set up a domain name and SSL directly in Callaba's UI.
Important: Follow the steps in order
Guide: 📖
Set up SSL and domain name for Pay Per View

Why SSL and domain setup matter 

Browsers block insecure content (HTTP) on secure pages (HTTPS). Without SSL, the player might not load or users may not log in.

Additionally, CORS settings control access between different domains. If your website and player are on separate domains, CORS can block content or authentication.

To avoid this, it's best to use the same domain for both (e.g., www.example.com for your site and player.example.com for the player). As long as both are secured with SSL (HTTPS), the iframe will load and users can authenticate without issues.

Done.

This is the end of our tutorial.

If you have any questions, please contact us at: [email protected]
We will respond to you within 24 hours.
Happy streaming!

Separate the GoPro contribution feed from the paid viewer experience

The GoPro or mobile application supplies the live RTMP feed. Callaba receives and monitors that feed, then publishes it through a web player with access and payment rules. Keeping those layers separate makes the test easier: prove the camera-to-server path first, then validate purchase, login, playback, and entitlement in a clean browser session.

  1. Contribution: send the GoPro feed to a Callaba RTMP server and verify incoming bitrate.
  2. Playback: create the web player and confirm that the live source works before enabling payment.
  3. Access: configure the paid-viewer rule and test both an entitled and a non-entitled session.
  4. Delivery: validate HTTPS, the custom domain, embed permissions, and the complete checkout return path.

The camera model does not secure the event. The production controls live in the server, player, domain, and entitlement workflow described above.

Choose the implementation path

API second layer: when a customer portal must provision playback automatically, start with the Create web player API example. Payment-provider and entitlement logic still need their own verified integration and end-to-end test.

FAQ: GoPro pay-per-view streaming

Can I sell access to a live stream from a GoPro camera?

Yes. Publish the GoPro feed over RTMP to a streaming server, connect that source to a web player, and apply the payment and access workflow to the player. Test the live feed independently before testing checkout, login, entitlement, and playback in an incognito or otherwise clean browser session.

Learn more

Follow us on social media

LinkedInRedditInstagramFacebookYoutubeX (Twitter)Discord