djwackey / dorsvr

Go RTSP Streaming Server
GNU Lesser General Public License v2.1
340 stars 93 forks source link
media-player media-server rtsp rtsp-server streaming-protocol video

Dorsvr Streaming Server

Build Status Go Report Card GitHub issues

Modules

Feature

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, worcy_kiddy@126.com

LICENSE

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