snap.go 492 B

123456789101112131415161718192021222324252627282930313233
  1. package main
  2. import (
  3. "context"
  4. "log"
  5. "os"
  6. "github.com/vladimirvivien/go4vl/device"
  7. )
  8. func main() {
  9. dev, err := device.Open("/dev/video0", device.WithBufferSize(1))
  10. if err != nil {
  11. log.Fatal(err)
  12. }
  13. defer dev.Close()
  14. if err := dev.Start(context.TODO()); err != nil {
  15. log.Fatal(err)
  16. }
  17. frame := <-dev.GetOutput()
  18. file, err := os.Create("pic.jpg")
  19. if err != nil {
  20. log.Fatal(err)
  21. }
  22. defer file.Close()
  23. if _, err := file.Write(frame); err != nil {
  24. log.Fatal(err)
  25. }
  26. }