Skip to content

GGmpeg is a LIBRARY that pays tribute to FFmpeg with Go!

License

Notifications You must be signed in to change notification settings

sbraveyoung/GGmpeg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  ____  ____                            
 / ___|/ ___|_ __ ___  _ __   ___  __ _ 
| |  _| |  _| '_ ` _ \| '_ \ / _ \/ _` |
| |_| | |_| | | | | | | |_) |  __/ (_| |
 \____|\____|_| |_| |_| .__/ \___|\__, |
                      |_|         |___/ 

GGmpeg is a LIBRARY that pays tribute to FFmpeg with Go!

NOTE: GGmpeg is a wheel I made to implement various protocols of multimedia, there are still many problems to be solved. Please do NOT use it in production environments.

Feature

  • publish a stream with RTMP
  • play a stream with RTMP
  • play a stream with HTTP-flv
  • play a stream with HLS
  • RTMP client library
  • publish and play a stream with RTP
  • more...

Usage

To start a RTMP server, you only need to write one line of code, see ./demo/rtmp_server.go:

 err := rtmp.NewServer(":1935", "live").Handler()
 //...

Then you can publish a stream to addr: rtmp://localhost:1935/live/${liveid} with any RTMP publish tools such as OBS, FFmpeg and so on, and play it from addr: rtmp://localhost:1935/live/${liveid} with any RTMP play tools you want.

To support HTTP-flv, you need to invoke WithHTTPFlv() methods:

 err := rtmp.NewServer(":1935", "live").WithHTTPFlv(":8080").Handler()
 //...

About

GGmpeg is a LIBRARY that pays tribute to FFmpeg with Go!

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages