main.lua 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "usb_cam_rtmp"
  3. VERSION = "1.0.0"
  4. local camera_id = camera.USB
  5. local usb_camera_table = {
  6. id = camera_id,
  7. sensor_width = 1280,
  8. sensor_height = 720,
  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. camera.start(camera_id)
  21. -- local rtmpc = rtmp.create("rtmp://192.168.1.10:1935/live/abc")
  22. -- local rtmpc = rtmp.create("rtmp://180.152.6.34:1935/stream1live/1ca786f5_23e5_4d89_8b1d_2eec6932775a_0001")
  23. -- local rtmpc = rtmp.create("rtmp://47.94.236.172/live/1ca786f5") -- 替换为你的推流地址
  24. local rtmpc = rtmp.create("rtmp://180.152.6.34:1936/live/guangzhou")
  25. rtmpc:setCallback(function(state, ...)
  26. if state == rtmp.STATE_CONNECTED then
  27. log.info("rtmp", "已连接到推流服务器")
  28. elseif state == rtmp.STATE_PUBLISHING then
  29. log.info("rtmp", "已开始推流")
  30. elseif state == rtmp.STATE_ERROR then
  31. log.info("rtmp", "出错:", ...)
  32. end
  33. end)
  34. log.info("开始连接到推流服务器...")
  35. sys.wait(100)
  36. rtmpc:connect()
  37. sys.wait(300)
  38. -- 开始处理
  39. log.info("rtmp", "开始推流...")
  40. rtmpc:start() -- 已自动调用 camera.capture(camera_id, "rtmp", 1)
  41. while 1 do
  42. --- 打印一下内存状态
  43. sys.wait(30*1000)
  44. log.info("lua", rtos.meminfo())
  45. log.info("sys", rtos.meminfo("sys"))
  46. log.info("psram", rtos.meminfo("psram"))
  47. sys.wait(2000)
  48. end
  49. -- #################################################
  50. end)
  51. -- 用户代码已结束---------------------------------------------
  52. -- 结尾总是这一句
  53. sys.run()
  54. -- sys.run()之后后面不要加任何语句!!!!!