From 4ed75d3bacf3dcf91889fb693b179557eb7b7509 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期一, 06 五月 2019 10:21:24 +0800 Subject: [PATCH] decoder ipc --- decoder/go.sum | 2 + decoder/main.go | 57 ++++++++++++++++------------ decoder/go.mod | 5 ++ decoder/valib/ipc | 2 decoder/work/service/decoder.go | 2 5 files changed, 41 insertions(+), 27 deletions(-) diff --git a/decoder/go.mod b/decoder/go.mod index 62603f0..09db5b7 100644 --- a/decoder/go.mod +++ b/decoder/go.mod @@ -2,4 +2,7 @@ go 1.12 -require nanomsg.org/go-mangos v1.4.0 +require ( + github.com/golang/snappy v0.0.1 + nanomsg.org/go-mangos v1.4.0 +) diff --git a/decoder/go.sum b/decoder/go.sum index 7d77097..1ba91ec 100644 --- a/decoder/go.sum +++ b/decoder/go.sum @@ -1,2 +1,4 @@ +github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= nanomsg.org/go-mangos v1.4.0 h1:pVRLnzXePdSbhWlWdSncYszTagERhMG5zK/vXYmbEdM= nanomsg.org/go-mangos v1.4.0/go.mod h1:MOor8xUIgwsRMPpLr9xQxe7bT7rciibScOqVyztNxHQ= diff --git a/decoder/main.go b/decoder/main.go index c6e75b8..fa513b3 100644 --- a/decoder/main.go +++ b/decoder/main.go @@ -7,6 +7,8 @@ "encoding/json" "flag" "fmt" + "strconv" + "strings" // "videoServer/demo" ) @@ -16,6 +18,8 @@ ipcURL string proc string + + testIt bool ) func init() { @@ -23,6 +27,8 @@ flag.StringVar(&picFolder, "f", ".", "test pic folder") flag.StringVar(&ipcURL, "ipc", "ipc:///tmp/pic.ipc", "ipc label") + + flag.BoolVar(&testIt, "test", false, "use test") } // CameraInfo camera info @@ -67,33 +73,36 @@ func main() { flag.Parse() - test() + if testIt { + test() + } - // ctx, cancel := context.WithCancel(context.Background()) + ctx, cancel := context.WithCancel(context.Background()) - // ch := make(chan CameraInfo) - // go recvFromIPC(ctx, "tcp://192.168.1.124:7000", ch) + ch := make(chan CameraInfo) + go recvFromIPC(ctx, "tcp://192.168.1.124:7000", ch) - // for { - // select { - // case <-ctx.Done(): - // return - // case c := <-ch: - // if _, ok := mapCI[c.ID]; !ok { - // mapCI[c.ID] = c - // ipc := "tcp://192.168.1.124:" + strconv.Itoa(port) - // port++ - // fmt.Printf("create ipc %s for decode : %s, on camera id %s\n", ipc, c.URL, c.ID) + // demo.SendByIPC("rtsp://admin:a1234567@192.168.1.188:554/h264/ch1/main/av_stream", "cid0", + // "tcp://192.168.1.140:7000", false) + for { + select { + case <-ctx.Done(): + return + case c := <-ch: + if _, ok := mapCI[c.ID]; !ok { + mapCI[c.ID] = c + ipc := "tcp://192.168.1.124:" + strconv.Itoa(port) + port++ + fmt.Printf("create ipc %s for decode : %s, on camera id %s\n", ipc, c.URL, c.ID) - // url := strings.TrimSpace(c.URL) - // id := strings.TrimSpace(c.ID) - // i := strings.TrimSpace(ipc) - // go demo.SendByIPC(url, id, i) - // } - // } - // } - // cancel() - + url := strings.TrimSpace(c.URL) + id := strings.TrimSpace(c.ID) + i := strings.TrimSpace(ipc) + go demo.SendByIPC(url, id, i, false) + } + } + } + cancel() } func test() { @@ -101,5 +110,5 @@ fmt.Println(picFolder) - demo.SendByIPC(streamURL, "camera1", ipcURL, true) + demo.SendByIPC(streamURL, "camera1", ipcURL, false) } diff --git a/decoder/valib/ipc b/decoder/valib/ipc index 8841f9d..f28fa12 160000 --- a/decoder/valib/ipc +++ b/decoder/valib/ipc @@ -1 +1 @@ -Subproject commit 8841f9d2154a8e0653d30fdc04bde8a772665c8c +Subproject commit f28fa12daea7e9522e407df355823b3b9fba7ac9 diff --git a/decoder/work/service/decoder.go b/decoder/work/service/decoder.go index c6f6aeb..c284325 100644 --- a/decoder/work/service/decoder.go +++ b/decoder/work/service/decoder.go @@ -72,8 +72,8 @@ go dec.serializeImageInfo(imageChan, dataChan) + // str := "hello" gf.ActiveDecoder(func(d *[]byte, w, h *int) { - fmt.Println("get a pic") if *w > 0 && *h > 0 { i := ImageInfo{*d, *w, *h, dec.cameraID} imageChan <- i -- Gitblit v1.8.0