main.lua 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "usb_cam_rtsp"
  3. VERSION = "1.0.0"
  4. local camera_id = camera.USB
  5. local usb_camera_table = {
  6. id = camera_id,
  7. sensor_width = 640,
  8. sensor_height = 480,
  9. usb_port = 1
  10. }
  11. sys.taskInit(function()
  12. wlan.init()
  13. wlan.connect("luatos1234", "12341234", 1)
  14. sys.waitUntil("IP_READY")
  15. camera.config(0, camera.CONF_UVC_FPS, 15)
  16. socket.sntp() -- 这个必须有
  17. sys.wait(200)
  18. result = camera.init(usb_camera_table)
  19. log.info("摄像头初始化", result)
  20. if result ~= 0 then
  21. log.info("摄像头初始化失败,停止运行")
  22. return
  23. end
  24. camera.start(camera_id)
  25. -- local rtspc = rtsp.create("rtsp://180.152.6.34:554/stream2live/089dd7d5_04d4_467a_852a_66cbbfc5a9c3_0001")
  26. local rtspc = rtsp.create("rtsp://192.168.1.10:554/stream2live/089dd7d5_04d4_467a_852a_66cbbfc5a9c3_0001")
  27. rtspc:setCallback(function(state, ...)
  28. if state == rtsp.STATE_CONNECTED then
  29. log.info("rtsp", "已连接到推流服务器")
  30. elseif state == rtsp.STATE_PUBLISHING then
  31. log.info("rtsp", "已开始推流")
  32. elseif state == rtsp.STATE_ERROR then
  33. log.info("rtsp", "出错:", ...)
  34. end
  35. end)
  36. log.info("开始连接到推流服务器...")
  37. sys.wait(100)
  38. rtspc:connect()
  39. sys.wait(300)
  40. -- 开始处理
  41. log.info("rtsp", "开始推流...")
  42. rtspc:start() -- 已自动调用 camera.capture(camera_id, "rtsp", 1)
  43. while 1 do
  44. --- 打印一下内存状态
  45. sys.wait(30*1000)
  46. log.info("lua", rtos.meminfo())
  47. log.info("sys", rtos.meminfo("sys"))
  48. log.info("psram", rtos.meminfo("psram"))
  49. sys.wait(2000)
  50. end
  51. -- #################################################
  52. end)
  53. -- 用户代码已结束---------------------------------------------
  54. -- 结尾总是这一句
  55. sys.run()
  56. -- sys.run()之后后面不要加任何语句!!!!!