Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/c-bata/rtmp
Server implementation of Adobe's RTMP 1.0 protocol in Go.
https://github.com/c-bata/rtmp
rtmp rtmp-server
Last synced: 17 days ago
JSON representation
Server implementation of Adobe's RTMP 1.0 protocol in Go.
- Host: GitHub
- URL: https://github.com/c-bata/rtmp
- Owner: c-bata
- License: mit
- Archived: true
- Created: 2018-01-12T07:55:27.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-06-23T04:51:12.000Z (over 6 years ago)
- Last Synced: 2024-08-01T03:22:25.950Z (3 months ago)
- Topics: rtmp, rtmp-server
- Language: Go
- Homepage: https://developers.cyberagent.co.jp/blog/archives/13739
- Size: 21.5 KB
- Stars: 138
- Watchers: 7
- Forks: 19
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rtmp
Server implementation of RTMP 1.0 protocol in Go.
## Getting Started
Usage is like this:
```go
package mainimport (
"flag"
"log""github.com/c-bata/rtmp"
)func main() {
var addr string
flag.StringVar(&addr, "addr", ":1935", `TCP address to listen on, ":1935" if empty`)
flag.Parse()log.Printf("Serving RTMP on %s", addr)
err := rtmp.ListenAndServe(addr)
if err != nil {
log.Fatalf("Catch Error: %s", err)
}
}
```Build [an example server script](./_example/server/main.go) via Make and Run it.
```
$ make build
$ ./bin/server -addr :1935
2018/01/28 17:09:53 Serving RTMP on :1935 (rev-a669378)
```After that, you can send a RTMP stream using RTMP client like ffmpeg or Wirecast.
In the case of using ffmpeg, please execute a following command.```console
$ ffmpeg -re -i /path/to/your_video.mp4 -map 0 -c:v libx264 -c:a aac -f flv rtmp://127.0.0.1:1935/appName/appInstance
```![GIF Animation - Receiving RTMP Stream.](https://github.com/c-bata/assets/raw/master/rtmp/rtmp-receiving-data-original.gif)
## Bibliography
* [RTMP 1.0 Specification - Adobe Systems Inc](http://www.adobe.com/devnet/rtmp.html)
* [Action Message Format 0 (AMF 0) specification - Adobe Systems Inc](http://wwwimages.adobe.com/content/dam/acom/en/devnet/pdf/amf0-file-format-specification.pdf)
* [Action Message Format 3 (AMF 3) specification - Adobe Systems Inc](http://wwwimages.adobe.com/content/dam/acom/en/devnet/pdf/amf-file-format-spec.pdf)
* [RTMP: A Quick Deep-Dive, Nick Chadwick - Youtube](https://www.youtube.com/watch?v=AoRepm5ks80)