Skip to content

Directory Structure Explanation

bash
monibuca/
├── api.go               # API interface definitions
├── plugin.go            # Core implementation of plugin system
├── publisher.go         # Publisher implementation
├── subscriber.go        # Subscriber implementation
├── server.go            # Core server implementation
├── puller.go            # Stream puller implementation
├── pusher.go            # Stream pusher implementation
├── pull-proxy.go        # Pull proxy implementation
├── push-proxy.go        # Push proxy implementation
├── recoder.go           # Recorder implementation
├── transformer.go       # Transcoder implementation
├── wait-stream.go       # Stream waiting implementation
├── prometheus.go        # Prometheus monitoring implementation

├── pkg/                 # Core packages
   ├── auth/            # Authentication related
   ├── codec/           # Codec implementation
   ├── config/          # Configuration related
   ├── db/              # Database related
   ├── task/            # Task system
   ├── util/            # Utility functions
   ├── filerotate/      # File rotation management
   ├── log.go           # Logging implementation
   ├── raw.go           # Raw data processing
   ├── error.go         # Error handling
   ├── track.go         # Media track implementation
   ├── track_test.go    # Media track tests
   ├── annexb.go        # H.264/H.265 Annex-B format processing
   ├── av-reader.go     # Audio/video reader
   ├── avframe.go       # Audio/video frame structure
   ├── ring-writer.go   # Ring buffer writer
   ├── ring-reader.go   # Ring buffer reader
   ├── adts.go          # AAC-ADTS format processing
   ├── port.go          # Port management
   ├── ring_test.go     # Ring buffer tests
   └── event.go         # Event system

├── plugin/              # Plugin directory
   ├── rtmp/            # RTMP protocol plugin
   ├── rtsp/            # RTSP protocol plugin
   ├── hls/             # HLS protocol plugin
   ├── flv/             # FLV protocol plugin
   ├── webrtc/          # WebRTC protocol plugin
   ├── gb28181/         # GB28181 protocol plugin
   ├── onvif/           # ONVIF protocol plugin
   ├── mp4/             # MP4 related plugin
   ├── room/            # Room management plugin
   ├── monitor/         # Monitoring plugin
   ├── rtp/             # RTP protocol plugin
   ├── srt/             # SRT protocol plugin
   ├── sei/             # SEI data processing plugin
   ├── snap/            # Screenshot plugin
   ├── crypto/          # Encryption plugin
   ├── debug/           # Debug plugin
   ├── cascade/         # Cascade plugin
   ├── logrotate/       # Log rotation plugin
   ├── stress/          # Stress testing plugin
   ├── vmlog/           # Virtual memory log plugin
   ├── preview/         # Preview plugin
   └── transcode/       # Transcoding plugin

├── pb/                  # Protocol Buffers definitions and generated code
├── scripts/             # Script files
├── doc/                 # English documentation
├── doc_CN/              # Chinese documentation
├── example/             # Example code
├── test/                # Test code

├── go.mod               # Go module definition
├── go.sum               # Go dependency version lock
├── Dockerfile           # Docker build file
└── README.md            # Project documentation

Released under the AGPL License