Awesome Open Source
Awesome Open Source

Dorsvr Streaming Server

Build Status Go Report Card GitHub issues

Modules

  • rtspserver - rtsp server
  • rtspclient - rtsp client
  • groupsock - group socket
  • livemedia - media library

Feature

  • Streaming Video (H264, M2TS)
  • Streaming Audio (MP3)
  • Protocols: RTP, RTCP, RTSP
  • Access Control

Install

go get github.com/djwackey/dorsvr

Format

$ make fmt

Testing

$ make test

Example

import (
    "fmt"

    "github.com/djwackey/dorsvr/rtspserver"
)

func main() {
    server := rtspserver.New(nil)

    portNum := 8554
    err := server.Listen(portNum)
    if err != nil {
        fmt.Printf("Failed to bind port: %d\n", portNum)
        return
    }

    if !server.SetupTunnelingOverHTTP(80) ||
        !server.SetupTunnelingOverHTTP(8000) ||
        !server.SetupTunnelingOverHTTP(8080) {
        fmt.Printf("We use port %d for optional RTSP-over-HTTP tunneling, "+
                   "or for HTTP live streaming (for indexed Transport Stream files only).\n", server.HTTPServerPortNum())
    } else {
        fmt.Println("(RTSP-over-HTTP tunneling is not available.)")
    }

    urlPrefix := server.RtspURLPrefix()
    fmt.Println("This server's URL: " + urlPrefix + "<filename>.")

    server.Start()

    select {}
}

Author

djwackey, [email protected]

LICENSE

dorsvr is licensed under the GNU Lesser General Public License, Version 2.1. See LICENSE for the full license text.

Alternatives To Dorsvr
Select To Compare


Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Go (163,592
Server (65,985
Socket (10,745
Streaming (9,698
Media Player (1,159
Access Control (1,111
Rtsp (894
Rtsp Server (894
Rtp (773
Media Server (675
H264 (445