Custom BuddyPress plugin: livestreaming video CMS/player for clients; video API integration

Job ID: 30924295

Budget: £3,000 – £5,000 GBP

We are a digital community, networking and events provider. Our clients deliver value to end users by letting them participate in events and form connections with other users who share their interests and can inform their study, career, and other important decisions.

We need to improve our live event video and presentation streaming capability. We require a tight API integration with a reliable/renowned streaming provider to deliver the most reliable, most seamless and low-effort live-presentation capability to our clients that we possibly can.

Our clients require a means of livestreaming their presentations to interested audiences within our platform, while also interacting through chat (building chat is not part of this project). Often those doing the streaming and chatting are not very tech savvy.

Livestreaming-video service provider API selection is ongoing right now.

**High-level deliverables (Wireframes available on request)**

Service reliability (non-functional requirement) is the ultimate hygiene factor. We should aim to promise clients two things:
- Default live-sessions streaming service: target of 99.9% uptime (this may not be possible with ANY streaming service provider - as per all service-provider T&Cs)
- Ultimately we want clients to be able to completely self-serve, end-to-end, within the our platform CMS: creating and running livestreaming channels and sessions

We must be able to provide sufficient bandwidth per client, and price and scale predictably; currently individual accounts per client is a good way to achieve this.

Short term: Experienced client-users must be able to start and end a live video stream without assistance from USN staff. The admin-interface UX/capability implications of this are:
- Uni Admin must have permissions to broadcast from platform, ie: incur expense to USN at will, without oversight.
- Uni Admin must have admin-interface access/capability to initiate broadcast on a Live Channel (in a Buddypress group).
- Uni Admin must be able to easily tell which Live Channel will appear in which front-end (Buddypress) Group.
- Medium term: Experienced client-users must be able to create and publish their own Live Channels as tabs within (Buddypress) Groups.
MUST stream into China
MUST support early “pre-creation” of events with persistent stream keys / URLs
MUST support low-latency streaming (to enable rapid interactivity for broadcasters)

**Constraints**
Tech: We work in Buddypress
Tech: Our core functionality is provided by Buddyboss
Tech: Core chat functionality is provided by CometChat
User: Streaming must work on desktop and mobile

**User journeys**
1. Site Admin user journey
Summary: Connect streaming API to client site
Why: Ensure streaming spend is only possible where contractually agreed
Client suggestion: Back-end plugin interface

2. “Broadcaster” user journey
Summary: Enable permissioned client roles to create pages and broadcast from them - if possible, including multi-presenter (‘panel’) sessions, straight from the browser
Why: Minimise management overhead for USN and streamline client broadcast capability
Client suggestion: Tight Buddyboss Groups integration

3. “Viewer” user journey
Summary: Enable site users to view broadcasts
Why: Maximise client and user value
Client suggestion: Use streaming service provider player

4. Uni Admin “Access Stats” user journey
Summary: Enable permissioned client roles to access Viewer statistics
Why: Self service stats reduces mgmt overhead on USN staff
Client suggestion: Streaming providers generally provide a stats API