Also, there is no need to do anything for Google chrome because its being detected as Mozilla\firefox.
If you are using the JPEG streaming mode (Motion JPEG) with the browser Opera or Safari, or even using your iPhone, there is no reason to use cambozola because all those browsers support MJPEG natively.
The problem: with ZM's CAN_STREAM setting set to "auto", ZM's auto detection believes those browsers don't support MJPEG, although they do.
This is because ZM's auto detection is slightly outdated and this fix will update it.
You can do the changes manually or use the patch below.
EDIT: If after this fix you experience flickering in Opera, here is how you fix it:
http://www.zoneminder.com/forums/viewto ... 1209#61209
In file include/functions.php, change the following which is at around line 823 (May vary from installation to installation):
Code: Select all
elseif (ereg( 'Opera ([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$logVersion))
Code: Select all
elseif (ereg( 'Opera/([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$logVersion))
In around line 876 (May vary from installation to installation), change:
Code: Select all
function canStreamNative()
{
return( ZM_CAN_STREAM == "yes" || ( ZM_CAN_STREAM == "auto" && (isNetscape() || isKonqueror()) ) );
}
Code: Select all
function canStreamNative()
{
return( ZM_CAN_STREAM == "yes" || ( ZM_CAN_STREAM == "auto" && (isNetscape() || isKonqueror() || isOpera() || isSafari()) ) );
}
In around line 840 (May vary from installation to installation), find this:
Code: Select all
function isNetscape()
{
getBrowser( $browser, $version );
return( $browser == "mozilla" );
}
Code: Select all
function isOpera() {
getBrowser( $browser, $version );
return( $browser == "opera" );
}
function isSafari() {
getBrowser( $browser, $version );
return( $browser == "safari" );
}
Or for those who prefer a patch (Generated on virgin ZM 1.24.2):
Code: Select all
--- original/web/includes/functions.php 2009-05-08 12:17:10.000000000 +0300
+++ patched/web/includes/functions.php 2010-04-13 22:44:27.000000000 +0300
@@ -820,7 +820,7 @@
$version = $logVersion[1];
$browser = 'konqueror';
}
- elseif (ereg( 'Opera ([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$logVersion))
+ elseif (ereg( 'Opera/([0-9].[0-9]{1,2})',$_SERVER['HTTP_USER_AGENT'],$logVersion))
{
$version = $logVersion[1];
$browser = 'opera';
@@ -844,6 +844,18 @@
return( $browser == "mozilla" );
}
+function isOpera()
+{
+ getBrowser( $browser, $version );
+ return( $browser == "opera" );
+}
+
+function isSafari()
+{
+ getBrowser( $browser, $version );
+ return( $browser == "safari" );
+}
+
function isKonqueror()
{
getBrowser( $browser, $version );
@@ -875,7 +887,7 @@
function canStreamNative()
{
- return( ZM_CAN_STREAM == "yes" || ( ZM_CAN_STREAM == "auto" && (isNetscape() || isKonqueror()) ) );
+ return( ZM_CAN_STREAM == "yes" || ( ZM_CAN_STREAM == "auto" && (isNetscape() || isKonqueror() || isOpera() || isSafari()) ) );
}
function canStreamApplet()
Code: Select all
patch -p2 < /path/to/the/patch/file/you/just/stored
mastertheknife.