@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME := mjpg-streamer
PKG_VERSION := 2018-10-25
PKG_RELEASE := 2
PKG_RELEASE := 3
PKG_MAINTAINER := Roger D <rogerdammit@gmail.com>, \
Ted Hess <thess@kitschensync.net>
@ -24,7 +24,7 @@ PKG_LICENSE_FILES:=LICENSE
i n c l u d e $( INCLUDE_DIR ) / p a c k a g e . m k
i n c l u d e $( INCLUDE_DIR ) / c m a k e . m k
PKG_BUILD_DEPENDS := MJPG_STREAMER_V4L2:libv4l
PKG_BUILD_DEPENDS := MJPG_STREAMER_V4L2:libv4l libzmq libprotobuf-c
d e f i n e P a c k a g e / m j p g - s t r e a m e r
SECTION:= multimedia
@ -32,21 +32,151 @@ define Package/mjpg-streamer
TITLE:= MJPG-streamer
DEPENDS:= +libpthread +libjpeg +MJPG_STREAMER_V4L2:libv4l
URL:= https://github.com/jacksonliam/mjpg-streamer
MENU:= 1
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r / d e s c r i p t i o n
d e f i n e P a c k a g e / m j p g - s t r e a m e r / D e f a u l t / d e s c r i p t i o n
Streaming application for Linux-UVC compatible webcams
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r / c o n f i g
source " $( SOURCE) /Config.in "
d e f i n e P a c k a g e / m j p g - s t r e a m e r / d e s c r i p t i o n
$( call Package /mjpg -streamer /Default /description )
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r / c o n f f i l e s
/ e t c / c o n f i g / m j p g - s t r e a m e r
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r / c o n f i g
i f P A C K A G E _ m j p g - s t r e a m e r - i n p u t - u v c
c o n f i g M J P G _ S T R E A M E R _ V 4 L 2
bool "Build input_uvc with libv4l2 (camera controls)"
default n
select PACKAGE_libv4l
e n d i f
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r / D e f a u l t
SECTION:= multimedia
CATEGORY:= Multimedia
TITLE:= MJPG-streamer
URL:= https://github.com/jacksonliam/mjpg-streamer
DEPENDS:= mjpg-streamer
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - i n p u t - f i l e
$( call Package /mjpg -streamer /Default )
TITLE += ( file input)
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - i n p u t - f i l e / d e s c r i p t i o n
$( call Package /mjpg -streamer /Default /description )
T h i s p a c k a g e p r o v i d e s t h e f i l e i n p u t p l u g i n .
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - i n p u t - u v c
$( call Package /mjpg -streamer /Default )
TITLE += ( UVC input)
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - i n p u t - u v c / d e s c r i p t i o n
$( call Package /mjpg -streamer /Default /description )
T h i s p a c k a g e p r o v i d e s t h e U V C i n p u t p l u g i n .
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - i n p u t - h t t p
$( call Package /mjpg -streamer /Default )
TITLE += ( HTTP input)
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - i n p u t - h t t p / d e s c r i p t i o n
$( call Package /mjpg -streamer /Default /description )
T h i s p a c k a g e p r o v i d e s t h e h t t p i n p u t p l u g i n .
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - r t s p
$( call Package /mjpg -streamer /Default )
TITLE += ( RTSP output)
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - r t s p / d e s c r i p t i o n
$( call Package /mjpg -streamer /Default /description )
T h i s p a c k a g e p r o v i d e s t h e R T S P o u t p u t p l u g i n .
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - u d p
$( call Package /mjpg -streamer /Default )
TITLE += ( UDP output)
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - u d p / d e s c r i p t i o n
$( call Package /mjpg -streamer /Default /description )
T h i s p a c k a g e p r o v i d e s t h e U D P o u t p u t p l u g i n .
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - f i l e
$( call Package /mjpg -streamer /Default )
TITLE += ( file output)
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - f i l e / d e s c r i p t i o n
$( call Package /mjpg -streamer /Default /description )
T h i s p a c k a g e p r o v i d e s t h e f i l e o u t p u t p l u g i n .
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - h t t p
$( call Package /mjpg -streamer /Default )
TITLE += ( HTTP output)
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - h t t p / d e s c r i p t i o n
$( call Package /mjpg -streamer /Default /description )
T h i s p a c k a g e p r o v i d e s t h e H T T P o u t p u t p l u g i n .
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - z m q
$( call Package /mjpg -streamer /Default )
TITLE += ( zmq output)
DEPENDS += +libzmq +libprotobuf-c
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - z m q / d e s c r i p t i o n
$( call Package /mjpg -streamer /Default /description )
T h i s p a c k a g e p r o v i d e s t h e Z e r o M Q o u t p u t p l u g i n .
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - w w w
$( call Package /mjpg -streamer /Default )
TITLE += ( full www)
CONFLICTS:= mjpg-streamer-www-simple
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - w w w / d e s c r i p t i o n
$( call Package /mjpg -streamer /Default /description )
T h i s p a c k a g e p r o v i d e s f u l l v e r s i o n o f t h e w e b c o n t e n t .
I n c l u d e s c a m b o z o l a a p p l e t .
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - w w w - s i m p l e
$( call Package /mjpg -streamer /Default )
TITLE += ( simple www)
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - w w w - s i m p l e / d e s c r i p t i o n
$( call Package /mjpg -streamer /Default /description )
T h i s p a c k a g e p r o v i d e s s i m p l e v e r s i o n o f t h e w e b c o n t e n t .
e n d e f
CAMBOZOLA := cambozola-0.936.tar.gz
# Distribution URL doesn't always have the correct version
@ -67,7 +197,7 @@ define Build/Prepare
$( Build/Patch)
# Fetch latest cambozola that works with latest Java(s)
# Yes, I know this is ugly
ifeq ( $( CONFIG_MJPG_STREAMER_WWW) ,y )
ifn eq ( $( CONFIG_PACKAGE_mjpg-streamer-www) , )
$( eval $( call Download,cambozola) )
$( TAR) -xf $( DL_DIR) /$( CAMBOZOLA) --strip= 2 --wildcards \
-C $( PKG_BUILD_DIR) /www */dist/cambozola.jar
@ -76,9 +206,10 @@ endef
d e f i n e B u i l d / C o n f i g u r e
$( RM) $( PKG_BUILD_DIR) /plugins/input_uvc/uvcvideo.h
$( call Build /Configure /Default )
e n d e f
TARGET_LDFLAGS += -ljpeg
TARGET_LDFLAGS += -ljpeg
i f e q ( $( CONFIG_MJPG_STREAMER_V 4L 2) , y )
TARGET_CFLAGS += -DUSE_LIBV4L2
@ -87,41 +218,72 @@ endif
d e f i n e P a c k a g e / m j p g - s t r e a m e r / i n s t a l l
$( INSTALL_DIR) $( 1) /usr/bin
$( INSTALL_BIN) $( PKG_BUILD_DIR) /mjpg_streamer $( 1) /usr/bin/
$( INSTALL_BIN) $( PKG_INSTALL_DIR) /usr/bin /mjpg_streamer $( 1) /usr/bin/
$( INSTALL_DIR) $( 1) /etc/config
$( CP) ./files/mjpg-streamer.config $( 1) /etc/config/mjpg-streamer
$( INSTALL_DIR) $( 1) /etc/init.d
$( INSTALL_BIN) ./files/mjpg-streamer.init $( 1) /etc/init.d/mjpg-streamer
$( INSTALL_DIR) $( 1) /etc/hotplug.d/usb
$( INSTALL_DATA) ./files/mjpg-streamer.hotplug $( 1) /etc/hotplug.d/usb/20-mjpg-streamer
$( INSTALL_DIR) $( 1) /usr/lib
i f e q ( $( CONFIG_MJPG_STREAMER_INPUT_FILE ) , y )
$( CP) $( PKG_BUILD_DIR) /input_file.so $( 1) /usr/lib
e n d i f
i f e q ( $( CONFIG_MJPG_STREAMER_INPUT_UVC ) , y )
$( CP) $( PKG_BUILD_DIR) /input_uvc.so $( 1) /usr/lib
e n d i f
i f e q ( $( CONFIG_MJPG_STREAMER_INPUT_HTTP ) , y )
$( CP) $( PKG_BUILD_DIR) /input_http.so $( 1) /usr/lib
e n d i f
i f e q ( $( CONFIG_MJPG_STREAMER_OUTPUT_RTSP ) , y )
$( CP) $( PKG_BUILD_DIR) /output_rtsp.so $( 1) /usr/lib
e n d i f
i f e q ( $( CONFIG_MJPG_STREAMER_OUTPUT_UDP ) , y )
$( CP) $( PKG_BUILD_DIR) /output_udp.so $( 1) /usr/lib
e n d i f
i f e q ( $( CONFIG_MJPG_STREAMER_OUTPUT_FILE ) , y )
$( CP) $( PKG_BUILD_DIR) /output_file.so $( 1) /usr/lib
e n d i f
i f e q ( $( CONFIG_MJPG_STREAMER_OUTPUT_HTTP ) , y )
$( CP) $( PKG_BUILD_DIR) /output_http.so $( 1) /usr/lib
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - i n p u t - f i l e / i n s t a l l
$( INSTALL_DIR) $( 1) /usr/lib/mjpg-streamer
$( CP) $( PKG_INSTALL_DIR) /usr/lib/mjpg-streamer/input_file.so $( 1) /usr/lib/mjpg-streamer
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - i n p u t - u v c / i n s t a l l
$( INSTALL_DIR) $( 1) /usr/lib/mjpg-streamer
$( CP) $( PKG_INSTALL_DIR) /usr/lib/mjpg-streamer/input_uvc.so $( 1) /usr/lib/mjpg-streamer
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - i n p u t - h t t p / i n s t a l l
$( INSTALL_DIR) $( 1) /usr/lib/mjpg-streamer
$( CP) $( PKG_INSTALL_DIR) /usr/lib/mjpg-streamer/input_http.so $( 1) /usr/lib/mjpg-streamer
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - r t s p / i n s t a l l
$( INSTALL_DIR) $( 1) /usr/lib/mjpg-streamer
$( CP) $( PKG_INSTALL_DIR) /usr/lib/mjpg-streamer/output_rtsp.so $( 1) /usr/lib/mjpg-streamer
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - u d p / i n s t a l l
$( INSTALL_DIR) $( 1) /usr/lib/mjpg-streamer
$( CP) $( PKG_INSTALL_DIR) /usr/lib/mjpg-streamer/output_udp.so $( 1) /usr/lib/mjpg-streamer
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - f i l e / i n s t a l l
$( INSTALL_DIR) $( 1) /usr/lib/mjpg-streamer
$( CP) $( PKG_INSTALL_DIR) /usr/lib/mjpg-streamer/output_file.so $( 1) /usr/lib/mjpg-streamer
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - h t t p / i n s t a l l
$( INSTALL_DIR) $( 1) /usr/lib/mjpg-streamer
$( CP) $( PKG_INSTALL_DIR) /usr/lib/mjpg-streamer/output_http.so $( 1) /usr/lib/mjpg-streamer
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - o u t p u t - z m q / i n s t a l l
$( INSTALL_DIR) $( 1) /usr/lib/mjpg-streamer
$( CP) $( PKG_INSTALL_DIR) /usr/lib/mjpg-streamer/output_zmqserver.so $( 1) /usr/lib/mjpg-streamer
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - w w w / i n s t a l l
$( INSTALL_DIR) $( 1) /www/webcam
ifeq ( $( CONFIG_MJPG_STREAMER_WWW) ,y)
$( INSTALL_DATA) $( PKG_BUILD_DIR) /www/* $( 1) /www/webcam
else
$( INSTALL_DATA) $( PKG_BUILD_DIR) /www/stream_simple.html $( 1) /www/webcam/index.html
endif
e n d i f
$( INSTALL_DATA) $( PKG_INSTALL_DIR) /usr/share/mjpg-streamer/www/* $( 1) /www/webcam
e n d e f
d e f i n e P a c k a g e / m j p g - s t r e a m e r - w w w - s i m p l e / i n s t a l l
$( INSTALL_DIR) $( 1) /www/webcam
$( INSTALL_DATA) $( PKG_INSTALL_DIR) /usr/share/mjpg-streamer/www/stream_simple.html $( 1) /www/webcam/index.html
e n d e f
$( eval $ ( call BuildPackage ,mjpg -streamer ) )
$( eval $ ( call BuildPackage ,mjpg -streamer -input -file ) )
$( eval $ ( call BuildPackage ,mjpg -streamer -input -uvc ) )
$( eval $ ( call BuildPackage ,mjpg -streamer -input -http ) )
$( eval $ ( call BuildPackage ,mjpg -streamer -output -rtsp ) )
$( eval $ ( call BuildPackage ,mjpg -streamer -output -file ) )
$( eval $ ( call BuildPackage ,mjpg -streamer -output -http ) )
$( eval $ ( call BuildPackage ,mjpg -streamer -output -zmq ) )
$( eval $ ( call BuildPackage ,mjpg -streamer -www ) )
$( eval $ ( call BuildPackage ,mjpg -streamer -www -simple ) )