2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
6 include $(TOPDIR
)/rules.mk
8 PKG_NAME
:=mjpg-streamer
10 PKG_RELEASE
:=$(AUTORELEASE
)
12 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
13 PKG_SOURCE_URL
:=https
://codeload.github.com
/jacksonliam
/mjpg-streamer
/tar.gz
/v
$(PKG_VERSION
)?
14 PKG_HASH
:=31850cd533b0290640cbdf4da44f7a774bfba050647cb0a0c84a435e90b08598
16 PKG_MAINTAINER
:=Roger D
<rogerdammit@gmail.com
>, \
17 Ted Hess
<thess@kitschensync.net
>
18 PKG_LICENSE
:=GPL-2.0
-or-later
19 PKG_LICENSE_FILES
:=LICENSE
21 PKG_UNPACK
=$(HOST_TAR
) -C
$(PKG_BUILD_DIR
) --strip=2 -xf
$(DL_DIR
)/$(PKG_SOURCE
)
22 PKG_BUILD_DEPENDS
:=MJPG_STREAMER_V4L2
:libv4l zmq protobuf-c
/host
24 include $(INCLUDE_DIR
)/package.mk
25 include $(INCLUDE_DIR
)/cmake.mk
27 define Package
/mjpg-streamer
31 DEPENDS
:=+libpthread
+libjpeg
+MJPG_STREAMER_V4L2
:libv4l
32 URL
:=https
://github.com
/jacksonliam
/mjpg-streamer
35 define Package
/mjpg-streamer
/Default
/description
36 Streaming application for Linux-UVC compatible webcams
39 define Package
/mjpg-streamer
/description
40 $(call Package
/mjpg-streamer
/Default
/description
)
43 define Package
/mjpg-streamer
/conffiles
44 /etc
/config
/mjpg-streamer
47 define Package
/mjpg-streamer
/config
48 if PACKAGE_mjpg-streamer-input-uvc
50 config MJPG_STREAMER_V4L2
51 bool
"Build input_uvc with libv4l2 (camera controls)"
57 define Package
/mjpg-streamer
/Default
61 URL
:=https
://github.com
/jacksonliam
/mjpg-streamer
62 DEPENDS
:=mjpg-streamer
65 define Package
/mjpg-streamer-input-file
66 $(call Package
/mjpg-streamer
/Default
)
70 define Package
/mjpg-streamer-input-file
/description
71 $(call Package
/mjpg-streamer
/Default
/description
)
73 This package provides the file input plugin.
76 define Package
/mjpg-streamer-input-uvc
77 $(call Package
/mjpg-streamer
/Default
)
81 define Package
/mjpg-streamer-input-uvc
/description
82 $(call Package
/mjpg-streamer
/Default
/description
)
84 This package provides the UVC input plugin.
87 define Package
/mjpg-streamer-input-http
88 $(call Package
/mjpg-streamer
/Default
)
92 define Package
/mjpg-streamer-input-http
/description
93 $(call Package
/mjpg-streamer
/Default
/description
)
95 This package provides the http input plugin.
98 define Package
/mjpg-streamer-output-rtsp
99 $(call Package
/mjpg-streamer
/Default
)
100 TITLE
+= (RTSP output
)
103 define Package
/mjpg-streamer-output-rtsp
/description
104 $(call Package
/mjpg-streamer
/Default
/description
)
106 This package provides the RTSP output plugin.
109 define Package
/mjpg-streamer-output-udp
110 $(call Package
/mjpg-streamer
/Default
)
114 define Package
/mjpg-streamer-output-udp
/description
115 $(call Package
/mjpg-streamer
/Default
/description
)
117 This package provides the UDP output plugin.
120 define Package
/mjpg-streamer-output-file
121 $(call Package
/mjpg-streamer
/Default
)
122 TITLE
+= (file output
)
125 define Package
/mjpg-streamer-output-file
/description
126 $(call Package
/mjpg-streamer
/Default
/description
)
128 This package provides the file output plugin.
131 define Package
/mjpg-streamer-output-http
132 $(call Package
/mjpg-streamer
/Default
)
133 TITLE
+= (HTTP output
)
136 define Package
/mjpg-streamer-output-http
/description
137 $(call Package
/mjpg-streamer
/Default
/description
)
139 This package provides the HTTP output plugin.
142 define Package
/mjpg-streamer-output-zmq
143 $(call Package
/mjpg-streamer
/Default
)
145 DEPENDS
+= +libzmq
+libprotobuf-c
148 define Package
/mjpg-streamer-output-zmq
/description
149 $(call Package
/mjpg-streamer
/Default
/description
)
151 This package provides the ZeroMQ output plugin.
154 define Package
/mjpg-streamer-www
155 $(call Package
/mjpg-streamer
/Default
)
157 CONFLICTS
:=mjpg-streamer-www-simple
160 define Package
/mjpg-streamer-www
/description
161 $(call Package
/mjpg-streamer
/Default
/description
)
163 This package provides full version of the web content.
164 Includes cambozola applet.
167 define Package
/mjpg-streamer-www-simple
168 $(call Package
/mjpg-streamer
/Default
)
172 define Package
/mjpg-streamer-www-simple
/description
173 $(call Package
/mjpg-streamer
/Default
/description
)
175 This package provides simple version of the web content.
178 CAMBOZOLA
:=cambozola-0.936.
tar.gz
180 # Distribution URL doesn't always have the correct version
181 # Using the OpenWrt mirror provides a stable version
182 # orig-URL:=http://www.andywilcock.com/code/cambozola
183 define Download
/cambozola
184 URL
:=https
://sources.openwrt.org
/
186 HASH
:=4e4e92d95673edd051e6b4d36bed8c5328873f5fc374073760b457d4be33415b
189 # redefine prepare to extract to our build dir
192 $(Build
/Prepare
/Default
)
193 # Fetch latest cambozola that works with latest Java(s)
194 # Yes, I know this is ugly
195 ifneq ($(CONFIG_PACKAGE_mjpg-streamer-www
),)
196 $(eval
$(call Download
,cambozola
))
197 $(TAR
) -xf
$(DL_DIR
)/$(CAMBOZOLA
) --strip=2 --wildcards \
198 -C
$(PKG_BUILD_DIR
)/www
*/dist/cambozola.jar
202 define Build
/Configure
203 $(RM
) $(PKG_BUILD_DIR
)/plugins
/input_uvc
/uvcvideo.h
204 $(call Build
/Configure
/Default
)
207 TARGET_LDFLAGS
+= -ljpeg
209 ifeq ($(CONFIG_MJPG_STREAMER_V4L2
),y
)
210 TARGET_CFLAGS
+= -DUSE_LIBV4L2
211 TARGET_LDFLAGS
+= -lv4l2
214 define Package
/mjpg-streamer
/install
215 $(INSTALL_DIR
) $(1)/usr
/bin
216 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/mjpg_streamer
$(1)/usr
/bin
/
217 $(INSTALL_DIR
) $(1)/etc
/config
218 $(CP
) .
/files
/mjpg-streamer.config
$(1)/etc
/config
/mjpg-streamer
219 $(INSTALL_DIR
) $(1)/etc
/init.d
220 $(INSTALL_BIN
) .
/files
/mjpg-streamer.init
$(1)/etc
/init.d
/mjpg-streamer
221 $(INSTALL_DIR
) $(1)/etc
/hotplug.d
/usb
222 $(INSTALL_DATA
) .
/files
/mjpg-streamer.hotplug
$(1)/etc
/hotplug.d
/usb
/20-mjpg-streamer
225 define Package
/mjpg-streamer-input-file
/install
226 $(INSTALL_DIR
) $(1)/usr
/lib
/mjpg-streamer
227 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/mjpg-streamer
/input_file.so
$(1)/usr
/lib
/mjpg-streamer
230 define Package
/mjpg-streamer-input-uvc
/install
231 $(INSTALL_DIR
) $(1)/usr
/lib
/mjpg-streamer
232 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/mjpg-streamer
/input_uvc.so
$(1)/usr
/lib
/mjpg-streamer
235 define Package
/mjpg-streamer-input-http
/install
236 $(INSTALL_DIR
) $(1)/usr
/lib
/mjpg-streamer
237 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/mjpg-streamer
/input_http.so
$(1)/usr
/lib
/mjpg-streamer
240 define Package
/mjpg-streamer-output-rtsp
/install
241 $(INSTALL_DIR
) $(1)/usr
/lib
/mjpg-streamer
242 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/mjpg-streamer
/output_rtsp.so
$(1)/usr
/lib
/mjpg-streamer
245 define Package
/mjpg-streamer-output-udp
/install
246 $(INSTALL_DIR
) $(1)/usr
/lib
/mjpg-streamer
247 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/mjpg-streamer
/output_udp.so
$(1)/usr
/lib
/mjpg-streamer
250 define Package
/mjpg-streamer-output-file
/install
251 $(INSTALL_DIR
) $(1)/usr
/lib
/mjpg-streamer
252 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/mjpg-streamer
/output_file.so
$(1)/usr
/lib
/mjpg-streamer
255 define Package
/mjpg-streamer-output-http
/install
256 $(INSTALL_DIR
) $(1)/usr
/lib
/mjpg-streamer
257 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/mjpg-streamer
/output_http.so
$(1)/usr
/lib
/mjpg-streamer
260 define Package
/mjpg-streamer-output-zmq
/install
261 $(INSTALL_DIR
) $(1)/usr
/lib
/mjpg-streamer
262 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/mjpg-streamer
/output_zmqserver.so
$(1)/usr
/lib
/mjpg-streamer
265 define Package
/mjpg-streamer-www
/install
266 $(INSTALL_DIR
) $(1)/www
/webcam
267 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/mjpg-streamer
/www
/* $(1)/www
/webcam
270 define Package
/mjpg-streamer-www-simple
/install
271 $(INSTALL_DIR
) $(1)/www
/webcam
272 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/mjpg-streamer
/www
/stream_simple.html
$(1)/www
/webcam
/index.html
275 $(eval
$(call BuildPackage
,mjpg-streamer
))
276 $(eval
$(call BuildPackage
,mjpg-streamer-input-file
))
277 $(eval
$(call BuildPackage
,mjpg-streamer-input-uvc
))
278 $(eval
$(call BuildPackage
,mjpg-streamer-input-http
))
279 $(eval
$(call BuildPackage
,mjpg-streamer-output-rtsp
))
280 $(eval
$(call BuildPackage
,mjpg-streamer-output-file
))
281 $(eval
$(call BuildPackage
,mjpg-streamer-output-http
))
282 $(eval
$(call BuildPackage
,mjpg-streamer-output-zmq
))
283 $(eval
$(call BuildPackage
,mjpg-streamer-www
))
284 $(eval
$(call BuildPackage
,mjpg-streamer-www-simple
))