fork
Configure Feed
Select the types of activity you want to include in your feed.
Live video on the AT Protocol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1package cmd
2
3import (
4 "fmt"
5 "io"
6 "net/http"
7 "os"
8)
9
10func Live(streamKey string) error {
11 // Create the URL for the live stream endpoint
12 url := fmt.Sprintf("http://127.0.0.1:39090/live/%s", streamKey)
13
14 // Create a new HTTP request with POST method
15 req, err := http.NewRequest("POST", url, os.Stdin)
16 if err != nil {
17 return fmt.Errorf("error creating request: %w", err)
18 }
19
20 // Set appropriate headers if needed
21 req.Header.Set("Content-Type", "video/x-matroska") // Assuming MKV format, adjust if needed
22
23 // Create HTTP client and send the request
24 client := &http.Client{}
25 resp, err := client.Do(req)
26 if err != nil {
27 return fmt.Errorf("error sending stream: %w", err)
28 }
29 defer resp.Body.Close()
30
31 // Check response status
32 if resp.StatusCode != http.StatusOK {
33 body, _ := io.ReadAll(resp.Body)
34 return fmt.Errorf("server returned non-OK status: %d %s - %s",
35 resp.StatusCode, resp.Status, string(body))
36 }
37
38 // Copy response to stdout (if any)
39 _, err = io.Copy(os.Stdout, resp.Body)
40 if err != nil {
41 return fmt.Errorf("error reading response: %w", err)
42 }
43
44 return nil
45}