轉自http://blog.csdn.net/q472599451/article/details/7728510
1、mjpg-streamer工作流程
(1)USB攝像頭采集的資料通過V4L2驅動(核心資料)傳輸到采集子產品input_uvc.c(使用者資料)
(2)使用者資料通過壓縮子產品simplified_jpeg_encoder壓縮成JPG圖像。
(3)發送子產品output_httd.so(JPG圖像資料)經過socket傳輸到網絡上去。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DM4MzM0IDMzETNxATM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
(4)調用init_v4l2函數(通過一系列的ioctl來完成設定攝像頭的分辨率,幀率,以及攝像頭的輸出格式),配置設定一個臨時緩沖區
(5)建立線程
socket程式設計