OpenVidu and live video

OpenVidu video platforms and live streaming

I connect video publishing, an OpenVidu server and the application that manages broadcasts. Editors organise streams, presenters start video, and viewers join according to their access rights.

What I can help with

Video publishing

Browser-based camera, microphone, screen or tab capture, source preview, device selection and controls to start or stop a stream.

Sessions and tokens

Server-issued OpenVidu tokens for publishing and viewing. User, role and permitted-session checks before a connection to the video server.

Broadcast administration

Management screens for streams, categories, statuses and schedules. A viewer-facing catalog with filters and times shown in the viewer’s timezone.

Plans and viewing rights

Mapping subscription plans to broadcast categories, checking active access before granting a viewer token and applying rules for different groups and events.

Viewer sessions

A viewing page, separate publisher and subscriber roles, and rules for reconnecting or limiting concurrent sessions according to the project’s access model.

Platform operations

OpenVidu and WebSocket proxying, diagnosis of publishing and playback failures, and checks across WordPress, the video server and browser clients.

  • OpenVidu
  • WordPress
  • PHP
  • Node.js
  • WebSocket
  • Nginx

Relevant experience

Publishing in Stream Hub

A browser interface lets publishers select a camera or screen, preview the source and start a broadcast. The server issues scoped tokens for publisher and subscriber roles.

Catalog and plan-based access

A WordPress module manages sports, plans, broadcasts and their statuses. Viewing rights depend on an active plan and the broadcast’s sport; the catalog can be filtered by status and sport.

Further work on viewing

A later streaming workflow replaced an older viewer connection when the same account connected from a different login session. A separate fix stopped database schema updates from running on every request and causing HTTP 504 errors.

Selected work in this area

Stream Hub dashboard with headline metrics, filters and broadcast catalog

OpenVidu · WordPress · WebSocket

Stream Hub: publishing, access and broadcast management

Camera or screen publishing, scoped OpenVidu tokens, broadcast statuses and viewer access based on active plans.

  • OpenVidu
  • WordPress
  • PHP
  • Node.js
  • JavaScript
View project details

How the work is delivered

  1. Assessment and scope

    We define the process, source data and expected result. For an existing project, I review the affected code. We then agree scope, cost and milestones.

  2. Development and verification

    I implement the agreed workflows and check the result and its dependencies. Changes to live systems account for data integrity and neighbouring functionality.

  3. Release and continued support

    I prepare the deployment and rollback procedure and verify the result after release. I hand over the changes and we agree further support where needed.

What you receive

  • The agreed publishing, broadcast management and viewing workflow.
  • Checks of roles, access plans, connection paths and key broadcast scenarios.
  • Source code, a component connection overview and a release procedure.

Before we start

Can this work with an existing WordPress site?

Yes. In Stream Hub, WordPress manages users, plans and the catalog while a separate service handles video. The integration scope depends on the current site structure.

Does the browser need the OpenVidu secret?

No. The browser receives a token scoped to the authorised role and session. The server secret remains on the server.

Can some broadcasts be open and others require a plan?

Yes. Access rules can differ by broadcast type. The user and active plan are checked before viewing permission is granted.

Can you extend a platform that is already live?

Yes. I review existing roles, sessions, catalog data, video routing and playback issues, then define the changes without requiring a replacement of the whole platform.

Describe how broadcasts will be published and who needs access to them.

Tell me about your project

No passwords or access credentials are needed for an initial assessment. Send a project link, briefly describe the current and expected behavior, and include a timeframe or budget if already defined.

Telegram: @dmitrydevelopmentEmail: web@dmitrydevelopment.com
Phone / WhatsApp / Viber:+381 64 118 22 24WhatsAppViber