Package Details: mjpg-streamer-git 1:1.0.1.r0.g4585331-1

Git Clone URL: https://aur.archlinux.org/mjpg-streamer-git.git (read-only, click to copy)
Package Base: mjpg-streamer-git
Description: Stream mjpeg frames from a webcam via http
Upstream URL: https://github.com/jacksonliam/mjpg-streamer
Licenses: GPL2
Conflicts: mjpg-streamer
Provides: mjpg-streamer
Submitter: yhfudev
Maintainer: FabioLolix
Last Packager: FabioLolix
Votes: 27
Popularity: 0.000000
First Submitted: 2015-05-18 19:48 (UTC)
Last Updated: 2022-12-02 18:03 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 Next › Last »

albertnguyen commented on 2018-05-14 09:07 (UTC)

I cannot maintain this package any longer. Hope that someone will do it.

lonaowna commented on 2018-05-14 08:48 (UTC)

Upstream moved: https://github.com/jacksonliam/mjpg-streamer

replabrobin commented on 2015-11-04 14:39 (UTC)

I think this may be a fault in my two cameras; looking at the v4l2 output I see this v4l2-ctl --list-formats ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: 'YUYV' Name : YUYV 4:2:2 so it seems neither allows for mjpeg; sorry for noise.

replabrobin commented on 2015-11-04 08:50 (UTC)

I have done clean installs on two x64 machines running latest Arch. When I use -i "input_uvc.so -y" I see things fine. When I run without I see the website, but the stream contains no data. I did some debugging (even added some of my own) and there is data being grabbed and passed to the cam_thread (at least the length appears to be 2 x 640 x 480), but I don't see any frames appearing in the stream DBG(v4l2uvc.c, init_v4l2(), 191): length: 614400 offset: 0 DBG(v4l2uvc.c, init_v4l2(), 200): Buffer mapped at address 0x7f0bc875d000. DBG(v4l2uvc.c, init_v4l2(), 191): length: 614400 offset: 614400 DBG(v4l2uvc.c, init_v4l2(), 200): Buffer mapped at address 0x7f0bc86c7000. DBG(v4l2uvc.c, init_v4l2(), 191): length: 614400 offset: 1228800 DBG(v4l2uvc.c, init_v4l2(), 200): Buffer mapped at address 0x7f0bc7954000. DBG(v4l2uvc.c, init_v4l2(), 191): length: 614400 offset: 1843200 DBG(v4l2uvc.c, init_v4l2(), 200): Buffer mapped at address 0x7f0bc78be000. DBG(output_http.c, output_init(), 85): output #00 DBG(output_http.c, output_init(), 118): argv[0]=HTTP output plugin DBG(output_http.c, output_init(), 118): argv[1]=-w DBG(output_http.c, output_init(), 118): argv[2]=./www DBG(output_http.c, output_init(), 118): argv[3]=-n DBG(output_http.c, output_init(), 176): case 6,7 DBG(output_http.c, output_init(), 186): case 8,9 o: www-folder-path...: ./www/ o: HTTP TCP port.....: 8080 o: username:password.: disabled o: commands..........: disabled DBG(mjpg_streamer.c, main(), 354): starting input plugin DBG(mjpg_streamer.c, main(), 358): starting 1 output plugin(s) DBG(output_http.c, output_run(), 229): launching server thread #00 DBG(httpd.c, server_thread(), 798): waiting for clients to connect DBG(v4l2uvc.c, uvcGrab(), 320): bytesused=614400 DBG(v4l2uvc.c, uvcGrab(), 337): bytes in used 614400 DBG(input_uvc.c, cam_thread(), 680): received frame of size: 0 currPictSize=614400 DBG(input_uvc.c, cam_thread(), 708): copying frame DBG(input_uvc.c, cam_thread(), 724): waiting for next frame DBG(v4l2uvc.c, uvcGrab(), 320): bytesused=614400 DBG(v4l2uvc.c, uvcGrab(), 337): bytes in used 614400 DBG(input_uvc.c, cam_thread(), 680): received frame of size: 0 currPictSize=614400 DBG(input_uvc.c, cam_thread(), 708): copying frame DBG(input_uvc.c, cam_thread(), 724): waiting for next frame DBG(v4l2uvc.c, uvcGrab(), 320): bytesused=614400 DBG(v4l2uvc.c, uvcGrab(), 337): bytes in used 614400 DBG(input_uvc.c, cam_thread(), 680): received frame of size: 0 currPictSize=614400 DBG(input_uvc.c, cam_thread(), 708): copying frame DBG(input_uvc.c, cam_thread(), 724): waiting for next frame DBG(v4l2uvc.c, uvcGrab(), 320): bytesused=614400 DBG(v4l2uvc.c, uvcGrab(), 337): bytes in used 614400 DBG(input_uvc.c, cam_thread(), 680): received frame of size: 0 currPictSize=614400 DBG(input_uvc.c, cam_thread(), 708): copying frame DBG(input_uvc.c, cam_thread(), 724): waiting for next frame DBG(v4l2uvc.c, uvcGrab(), 320): bytesused=614400 DBG(v4l2uvc.c, uvcGrab(), 337): bytes in used 614400 DBG(input_uvc.c, cam_thread(), 680): received frame of size: 0 currPictSize=614400 DBG(input_uvc.c, cam_thread(), 708): copying frame DBG(input_uvc.c, cam_thread(), 724): waiting for next frame DBG(v4l2uvc.c, uvcGrab(), 320): bytesused=614400 DBG(v4l2uvc.c, uvcGrab(), 337): bytes in used 614400 DBG(input_uvc.c, cam_thread(), 680): received frame of size: 0 currP

albertnguyen commented on 2015-11-04 01:15 (UTC)

@replabrobin I have no problem upgrading to linux 4.2.5-1. What happens if you perform a clean installation of mjpg-streamer?

replabrobin commented on 2015-11-03 21:13 (UTC)

I'm finding that the problem with mjpeg is back even with the patch in place; course my kernel is 4.2.5-1

mdevaev commented on 2015-04-11 23:27 (UTC)

Please add armv6h to architectures for raspberry pi :-)

albertnguyen commented on 2015-02-24 09:19 (UTC)

Build sources have been updated with libc's patch.

libc commented on 2015-02-11 00:47 (UTC)

It appears that a recent kernel update (3.15?) broke the UVC plugin so that streaming doesn't work out of the box unless you set the '-y' option to force YUYV streaming mode. I was able to fix the issue so that it works again using MJPEG streaming mode (which uses far less CPU). Since it appears the project has been abandoned upstream and none of the various Github clones I found appear to be the current canonical version, I'm posting my patch here in case it helps someone. diff -rupN ./orig/src/mjpg-streamer-r63/plugins/input_uvc/input_uvc.c ./patched/src/mjpg-streamer-r63/plugins/input_uvc/input_uvc.c --- ./orig/src/mjpg-streamer-r63/plugins/input_uvc/input_uvc.c 2015-02-02 21:35:03.593996063 -0500 +++ ./patched/src/mjpg-streamer-r63/plugins/input_uvc/input_uvc.c 2015-02-02 22:04:30.066953871 -0500 @@ -706,7 +706,7 @@ void *cam_thread( void *arg ) { } else { DBG("copying frame\n"); - pglobal->size = memcpy_picture(pglobal->buf, videoIn->tmpbuffer, videoIn->buf.bytesused); + pglobal->size = memcpy_picture(pglobal->buf, videoIn->tmpbuffer, videoIn->currPictSize); } #if 0 diff -rupN ./orig/src/mjpg-streamer-r63/plugins/input_uvc/v4l2uvc.c ./patched/src/mjpg-streamer-r63/plugins/input_uvc/v4l2uvc.c --- ./orig/src/mjpg-streamer-r63/plugins/input_uvc/v4l2uvc.c 2015-02-02 21:35:03.523996063 -0500 +++ ./patched/src/mjpg-streamer-r63/plugins/input_uvc/v4l2uvc.c 2015-02-02 22:04:29.986993871 -0500 @@ -333,6 +333,7 @@ int uvcGrab(struct vdIn *vd) */ memcpy(vd->tmpbuffer, vd->mem[vd->buf.index], vd->buf.bytesused); + vd->currPictSize = vd->buf.bytesused; if (debug) fprintf(stderr, "bytes in used %d \n", vd->buf.bytesused); diff -rupN ./orig/src/mjpg-streamer-r63/plugins/input_uvc/v4l2uvc.h ./patched/src/mjpg-streamer-r63/plugins/input_uvc/v4l2uvc.h --- ./orig/src/mjpg-streamer-r63/plugins/input_uvc/v4l2uvc.h 2015-02-02 21:35:03.443996063 -0500 +++ ./patched/src/mjpg-streamer-r63/plugins/input_uvc/v4l2uvc.h 2015-02-02 22:04:29.867053871 -0500 @@ -73,6 +73,7 @@ struct vdIn { int framecount; int recordstart; int recordtime; + int currPictSize };