recording.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package main
  2. import (
  3. "log"
  4. "time"
  5. "github.com/kr/pretty"
  6. "lc/common/onvif/profiles/recording"
  7. "lc/common/onvif/soap"
  8. )
  9. func main() {
  10. // Create soap client
  11. client := soap.NewClient(
  12. soap.WithTimeout(time.Second * 5),
  13. )
  14. client.AddHeader(soap.NewWSSSecurityHeader("root", "pass"))
  15. var token recording.RecordingReference
  16. // Create service instance and specify xaddr (which could be received in the devicemgmt.GetServices())
  17. r := recording.NewRecordingPort(client, "http://192.168.27.66/onvif/services")
  18. {
  19. cr := recording.CreateRecording{RecordingConfiguration: recording.RecordingConfiguration{}}
  20. cr.RecordingConfiguration.Content = "mycontent"
  21. cr.RecordingConfiguration.MaximumRetentionTime = "P7D" //"PT0M30S"
  22. cr.RecordingConfiguration.Source =
  23. recording.RecordingSourceInformation{
  24. SourceId: "http://192.168.27.66/onvif/services",
  25. Name: "mysourcename",
  26. Location: "mysourcelocation",
  27. Description: "mysourcedescription",
  28. Address: "http://192.168.27.66/onvif/services"}
  29. reply, _ := r.CreateRecording(&cr)
  30. token = reply.RecordingToken
  31. dr := recording.DeleteRecording{RecordingToken: token}
  32. r.DeleteRecording(&dr)
  33. r.GetRecordings(&recording.GetRecordings{})
  34. }
  35. // .............
  36. }