Skip to content

Implement action endpoint where agent sends RTMP stats and waits for action to be taken #31

@dolftax

Description

@dolftax

Method: POST
Content-type: application/json
Struct:

type NginxStats struct {
Rtmp struct {
		NginxVersion     string `json:"nginx_version"`
		NginxRtmpVersion string `json:"nginx_rtmp_version"`
		Compiler         string `json:"compiler"`
		Built            string `json:"built"`
		Pid              string `json:"pid"`
		Uptime           string `json:"uptime"`
		Naccepted        string `json:"naccepted"`
		BwIn             string `json:"bw_in"`
		BytesIn          string `json:"bytes_in"`
		BwOut            string `json:"bw_out"`
		BytesOut         string `json:"bytes_out"`
		Server           struct {
			Application struct {
				Name string `json:"name"`
				Live struct {
					Stream []struct {
						Name     string `json:"name"`
						Time     string `json:"time"`
						BwIn     string `json:"bw_in"`
						BytesIn  string `json:"bytes_in"`
						BwOut    string `json:"bw_out"`
						BytesOut string `json:"bytes_out"`
						BwAudio  string `json:"bw_audio"`
						BwVideo  string `json:"bw_video"`
						Client   []struct {
							ID         string `json:"id"`
							Address    string `json:"address"`
							Time       string `json:"time"`
							Flashver   string `json:"flashver"`
							Dropped    string `json:"dropped"`
							Avsync     string `json:"avsync"`
							Timestamp  string `json:"timestamp"`
							Active     string `json:"active"`
							Swfurl     string `json:"swfurl,omitempty"`
							Publishing string `json:"publishing,omitempty"`
						} `json:"client"`
						Meta struct {
							Video struct {
								Width     string `json:"width"`
								Height    string `json:"height"`
								FrameRate string `json:"frame_rate"`
								Codec     string `json:"codec"`
								Profile   string `json:"profile"`
								Compat    string `json:"compat"`
								Level     string `json:"level"`
							} `json:"video"`
							Audio struct {
								Codec      string `json:"codec"`
								Profile    string `json:"profile"`
								Channels   string `json:"channels"`
								SampleRate string `json:"sample_rate"`
							} `json:"audio"`
						} `json:"meta"`
						Nclients   string `json:"nclients"`
						Publishing string `json:"publishing"`
						Active     string `json:"active"`
					} `json:"stream"`
					Nclients string `json:"nclients"`
				} `json:"live"`
			} `json:"application"`
		} `json:"server"`
	} `json:"rtmp"`
	Host string `json:"host"`
}

Expected response:

type Action struct {
	Streams []struct {
		Name   string `json:"name"`
		Action string `json:"action"`
	} `json:"streams"`
}

Only action: drop for now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions