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

Git Clone URL: (read-only, click to copy)
Package Base: mjpg-streamer-git
Description: Stream mjpeg frames from a webcam via http
Upstream URL:
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

1 2 3 4 Next › Last »

FabioLolix commented on 2023-02-07 20:41 (UTC)

yes, I missed that

dack commented on 2023-02-07 20:14 (UTC)

"url" in the PKGBUILD should probably be updated to match the change to the LMBernardo fork.

LMBernardo commented on 2022-12-02 16:14 (UTC)

@amstan I have added a git tag with a minor version bump - let me know if this works now. Thanks!

amstan commented on 2022-10-31 01:19 (UTC)

Thank you LMBernardo,

As far as I'm concerned mjpg-streamer is unusable without this "403: Forbidden! frame already sent" fix.

Unfortunatelly switching to your fork was not straight forward as the check() fails due to missing any git tags:

LMBernardo commented on 2022-09-04 22:01 (UTC) (edited on 2022-09-04 22:10 (UTC) by LMBernardo)

Building with ENABLE_HTTP_MANAGEMENT is fixed in my fork, which also disables HTTP rate limiting by default (the infamous "403: Forbidden! frame already sent") and instead moves it to an optional command line parameter. Not sure if the package maintainer wants to switch to my fork, but you can git clone and build/install as per usual.

FabioLolix commented on 2020-09-02 21:27 (UTC)

I have modified the pkgbuild, get it and try again

umamibeef commented on 2020-09-02 05:43 (UTC)

I get the following linker error when running makepkg -si:

/usr/bin/ld: CMakeFiles/output_http.dir/output_http.c.o:(.bss+0xa60): multiple definition ofclient_infos'; CMakeFiles/output_http.dir/httpd.c.o:(.bss+0x0): first defined here collect2: error: ld returned 1 exit status`

Anyone know how to fix this? I'm using 5.8.3-2-MANJARO on x86_64. I saw a proposed fix here: but my changes disappear when makepkg pulls from the repo again. Not sure what to do...

blalor commented on 2020-04-13 15:30 (UTC)

My patch to PKGBUILD to get it building without the HTTP management stuff, using the CMake-generated Makefile, and with @matterhorn's LDFLAGS fix:

diff --git a/PKGBUILD b/PKGBUILD
index 93d499d..39ecf0c 100644
@@ -5,7 +5,7 @@
 pkgdesc="Stream mjpeg frames from a webcam via http"
 arch=(x86_64 i686 arm armv6h armv7h aarch64)
@@ -29,15 +29,20 @@ prepare() {

 build() {
   cd "${pkgname/-git/}/mjpg-streamer-experimental/_build"
+  ##
+  export LDFLAGS="-Wl,-O1,--sort-common,--no-as-needed,-z,relro,-z,now"
+  ##
   cmake .. \
+  ##
+  make

 package() {
-  cd "${pkgname/-git/}/mjpg-streamer-experimental"
+  ##
+  cd "${pkgname/-git/}/mjpg-streamer-experimental/_build"
   make DESTDIR="${pkgdir}" install

blalor commented on 2020-03-21 18:52 (UTC)

I have the same problem as @celogeek, but it can be solved by removing the -DENABLE_HTTP_MANAGEMENT=ON line. Also, the build step doesn't build the package, it only runs the cmake stuff, and package doesn't use the setup provided by cmake because it doesn't cd …/_build.

celogeek commented on 2020-03-09 22:09 (UTC)


can you include this patch to your package:

diff --git a/mjpg-streamer-experimental/plugins/output_http/httpd.c b/mjpg-streamer-experimental/plugins/output_http/httpd.c
index 1fe9115..372834c 100644
--- a/mjpg-streamer-experimental/plugins/output_http/httpd.c
+++ b/mjpg-streamer-experimental/plugins/output_http/httpd.c
@@ -369,14 +369,8 @@ int check_client_status(client_info *client)
             msec  =(tim.tv_sec - client_infos.infos[i]->last_take_time.tv_sec)*1000;
             msec +=(tim.tv_usec - client_infos.infos[i]->last_take_time.tv_usec)/1000;
             DBG("diff: %ld\n", msec);
-            if ((msec < 1000) && (msec > 0)) { // FIXME make it parameter
-                DBG("CHEATER\n");
-                pthread_mutex_unlock(&client_infos.mutex);
-                return 1;
-            } else {
-                pthread_mutex_unlock(&client_infos.mutex);
-                return 0;
-            }
+       pthread_mutex_unlock(&client_infos.mutex);
+       return 0;
     DBG("Client not found in the client list! How did it happend?? This is a BUG\n");

This allow multiple connexions to the streaming and avoid 403 access denied: