Video Streaming Services for Golang — PKC Blog Hub

Prajwol KC
readytowork-org
Published in
3 min readMar 3, 2022

--

  • Go lang is an update to date recent uptrend programming platform
  • Since video assets are much in demand we can either create our custom video streaming server or we can checkout different services that are applicable for video streaming Development/Updates
  • The services are generic overviews that can be used under the Go platforms

Video Streaming Services in Research and its technical features

1. Twilio Video Streaming

  • Twilio Video is based on WebRTC protocol to connect browser-based webcam and microphone to engage under the application.
  • Uses Nodejs SDK for video streaming in test environment
  • Use of Video API which is a javascript API generally based on room-based video
    services
  • Since it's based on JS we can make easily integrate it under React / Vue JS
  • Video can be recorded which will Recording API and can be downloaded under our
    own server instance
  • Pricing: $0.004 per video stream per minute, and recording $0.004 per video
    stream per minute
  • Demo Deployment: ​Link ​(Under Nginx Server and Node Js Environment )

2. Amazon Kinesis Video Streams with WebRTC3. Mux

4. Api.video

  • Video Streaming available on Go Library for backend streaming
  • Need Mux service token and keys
  • Works on RTMP and video files both
  • Have to connect to webRTC for browser webcam and microphone
  • Pricing: Live Streaming costs $0.0013/min for the video
  • Ref: ​https://mux.com/

5. Open Source project ​livego

  • Uses own protocols and tech stack for all video Hosting, Transcoding and
    Streaming
  • Provided with SDKs with Go Lang library
  • Can be integrated with both webcam and videos
  • Developers Sandbox and production env
  • The pricing model is on usage basic: ​https://api.video/pricing/
  • Under development open source project under GO lang: https://github.com/gwuhaolin/livego
  • Support for Downstream playback only for playback protocols
  • Free but have to engineer into the code for the suitable use case
  • Supported, and the playback address is as follows:

Backdrop
Necessary to connect a webcam tool to connect it to the backend. Also, it's necessary to store videos under our own server environment

WebRTC is an open technology specification for enabling real-time communication (RTC) across browsers and mobile applications via simple APIs.

It uses peering techniques for real-time data exchange between connected peers and provides low latency media streaming required for human-to-human interaction and requires SSL for allowing a webcam and microphone under webRTC.

Originally published at https://prajwol-kc.com.np on March 3, 2022.

--

--