mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-08 01:14:19 +00:00
49_SSCam: contrib 7.7.0
git-svn-id: https://svn.fhem.de/fhem/trunk@17930 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
46b3a5af90
commit
c9faafe80a
@ -45,7 +45,8 @@ use HttpUtils;
|
|||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
our %SSCam_vNotesIntern = (
|
our %SSCam_vNotesIntern = (
|
||||||
"7.7.0" => "07.12.2018 SVS-Device: autocreateCams command added, some other fixes and improvements, minor code rewrite ",
|
"7.7.0" => "07.12.2018 SVS-Device: autocreateCams command added, some other fixes and improvements, minor code rewrite, ".
|
||||||
|
"save Stream \$streamHash->{HELPER}{STREAM} for popupStream in SSCamSTRM-Device ",
|
||||||
"7.6.0" => "02.12.2018 sub SSCam_ptzpanel completed by Preset and Patrol, minor fixes ",
|
"7.6.0" => "02.12.2018 sub SSCam_ptzpanel completed by Preset and Patrol, minor fixes ",
|
||||||
"7.5.0" => "02.12.2018 sub SSCam_StreamDev and SSCam_composegallery changed to use popup window ",
|
"7.5.0" => "02.12.2018 sub SSCam_StreamDev and SSCam_composegallery changed to use popup window ",
|
||||||
"7.4.1" => "26.11.2018 sub composegallery deleted, SSCam_composegallery changed to get information for SSCam_refresh ",
|
"7.4.1" => "26.11.2018 sub composegallery deleted, SSCam_composegallery changed to get information for SSCam_refresh ",
|
||||||
@ -6228,6 +6229,7 @@ sub SSCam_StreamDev($$$) {
|
|||||||
$hash->{HELPER}{STRMDEV} = $strmdev; # Name des aufrufenden SSCamSTRM-Devices
|
$hash->{HELPER}{STRMDEV} = $strmdev; # Name des aufrufenden SSCamSTRM-Devices
|
||||||
$hash->{HELPER}{STRMROOM} = $FW_room?$FW_room:""; # Raum aus dem das SSCamSTRM-Device die Funktion aufrief
|
$hash->{HELPER}{STRMROOM} = $FW_room?$FW_room:""; # Raum aus dem das SSCamSTRM-Device die Funktion aufrief
|
||||||
$hash->{HELPER}{STRMDETAIL} = $FW_detail?$FW_detail:""; # Name des SSCamSTRM-Devices (wenn Detailansicht)
|
$hash->{HELPER}{STRMDETAIL} = $FW_detail?$FW_detail:""; # Name des SSCamSTRM-Devices (wenn Detailansicht)
|
||||||
|
my $streamHash = $defs{$strmdev}; # SSCamSTRM-Devices
|
||||||
|
|
||||||
# Definition Tasten
|
# Definition Tasten
|
||||||
my $imgblank = "<img src=\"$FW_ME/www/images/sscam/black_btn_CAMBLANK.png\">"; # nicht sichtbare Leertaste
|
my $imgblank = "<img src=\"$FW_ME/www/images/sscam/black_btn_CAMBLANK.png\">"; # nicht sichtbare Leertaste
|
||||||
@ -6281,15 +6283,17 @@ sub SSCam_StreamDev($$$) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($fmt =~ /mjpeg/) {
|
if($fmt =~ /mjpeg/) {
|
||||||
if($apivideostmsmaxver) { # keine API "SYNO.SurveillanceStation.VideoStream" mehr ab API v2.8
|
if($apivideostmsmaxver) { # keine API "SYNO.SurveillanceStation.VideoStream" mehr ab API v2.8
|
||||||
$link = "$proto://$serveraddr:$serverport/webapi/$apivideostmspath?api=$apivideostms&version=$apivideostmsmaxver&method=Stream&cameraId=$camid&format=mjpeg&_sid=$sid";
|
$link = "$proto://$serveraddr:$serverport/webapi/$apivideostmspath?api=$apivideostms&version=$apivideostmsmaxver&method=Stream&cameraId=$camid&format=mjpeg&_sid=$sid";
|
||||||
} elsif ($hash->{HELPER}{STMKEYMJPEGHTTP}) {
|
} elsif ($hash->{HELPER}{STMKEYMJPEGHTTP}) {
|
||||||
$link = $hash->{HELPER}{STMKEYMJPEGHTTP};
|
$link = $hash->{HELPER}{STMKEYMJPEGHTTP};
|
||||||
}
|
}
|
||||||
if($apiaudiostmmaxver) { # keine API "SYNO.SurveillanceStation.AudioStream" mehr ab API v2.8
|
if($apiaudiostmmaxver) { # keine API "SYNO.SurveillanceStation.AudioStream" mehr ab API v2.8
|
||||||
$audiolink = "$proto://$serveraddr:$serverport/webapi/$apiaudiostmpath?api=$apiaudiostm&version=$apiaudiostmmaxver&method=Stream&cameraId=$camid&_sid=$sid";
|
$audiolink = "$proto://$serveraddr:$serverport/webapi/$apiaudiostmpath?api=$apiaudiostm&version=$apiaudiostmmaxver&method=Stream&cameraId=$camid&_sid=$sid";
|
||||||
}
|
}
|
||||||
$ret .= "<td><img src=$link $ha onClick=\"FW_okDialog('<img src=$link $pws>')\"><br>";
|
$ret .= "<td><img src=$link $ha onClick=\"FW_okDialog('<img src=$link $pws>')\"><br>";
|
||||||
|
$streamHash->{HELPER}{STREAM} = "<img src=$link $pws>"; # Stream für "get <SSCamSTRM-Device> popupStream" speichern
|
||||||
|
|
||||||
if(ReadingsVal($camname, "Record", "Stop") eq "Stop") {
|
if(ReadingsVal($camname, "Record", "Stop") eq "Stop") {
|
||||||
# Aufnahmebutton endlos Start
|
# Aufnahmebutton endlos Start
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdrecendless')\">$imgrecendless </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdrecendless')\">$imgrecendless </a>";
|
||||||
@ -6312,7 +6316,7 @@ sub SSCam_StreamDev($$$) {
|
|||||||
Your browser does not support the audio element.
|
Your browser does not support the audio element.
|
||||||
</audio>";
|
</audio>";
|
||||||
$ret .= "</td>";
|
$ret .= "</td>";
|
||||||
$ret .= "<td></td>" if(AttrVal($camname,"ptzPanel_use",1));
|
$ret .= "<td></td>" if(AttrVal($camname,"ptzPanel_use",0));
|
||||||
}
|
}
|
||||||
|
|
||||||
} elsif($fmt =~ /generic/) {
|
} elsif($fmt =~ /generic/) {
|
||||||
@ -6334,6 +6338,7 @@ sub SSCam_StreamDev($$$) {
|
|||||||
|
|
||||||
$ret .= "<td>";
|
$ret .= "<td>";
|
||||||
$ret .= "$htag";
|
$ret .= "$htag";
|
||||||
|
$streamHash->{HELPER}{STREAM} = "$htag"; # Stream für "get <SSCamSTRM-Device> popupStream" speichern
|
||||||
$ret .= "<br>";
|
$ret .= "<br>";
|
||||||
Log3($strmdev, 4, "$strmdev - generic Stream params:\n$htag");
|
Log3($strmdev, 4, "$strmdev - generic Stream params:\n$htag");
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdrefresh')\">$imgrefresh </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdrefresh')\">$imgrefresh </a>";
|
||||||
@ -6361,6 +6366,7 @@ sub SSCam_StreamDev($$$) {
|
|||||||
if($link && $wltype =~ /image|iframe|video|base64img|embed|hls/) {
|
if($link && $wltype =~ /image|iframe|video|base64img|embed|hls/) {
|
||||||
if($wltype =~ /image/) {
|
if($wltype =~ /image/) {
|
||||||
$ret .= "<td><img src=$link $ha onClick=\"FW_okDialog('<img src=$link $pws>')\"><br>";
|
$ret .= "<td><img src=$link $ha onClick=\"FW_okDialog('<img src=$link $pws>')\"><br>";
|
||||||
|
$streamHash->{HELPER}{STREAM} = "<img src=$link $pws>"; # Stream für "get <SSCamSTRM-Device> popupStream" speichern
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\">$imgstop </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\">$imgstop </a>";
|
||||||
$ret .= $imgblank;
|
$ret .= $imgblank;
|
||||||
if($hash->{HELPER}{RUNVIEW} =~ /live_fw/) {
|
if($hash->{HELPER}{RUNVIEW} =~ /live_fw/) {
|
||||||
@ -6387,13 +6393,16 @@ sub SSCam_StreamDev($$$) {
|
|||||||
Your browser does not support the audio element.
|
Your browser does not support the audio element.
|
||||||
</audio>";
|
</audio>";
|
||||||
$ret .= "</td>";
|
$ret .= "</td>";
|
||||||
$ret .= "<td></td>" if(AttrVal($camname,"ptzPanel_use",1));
|
$ret .= "<td></td>" if(AttrVal($camname,"ptzPanel_use",0));
|
||||||
}
|
}
|
||||||
|
|
||||||
} elsif ($wltype =~ /iframe/) {
|
} elsif ($wltype =~ /iframe/) {
|
||||||
$ret .= "<td><iframe src=$link $ha controls autoplay onClick=\"FW_okDialog('<img src=$link $pws>')\">
|
$ret .= "<td><iframe src=$link $ha controls autoplay onClick=\"FW_okDialog('<img src=$link $pws>')\">
|
||||||
Iframes disabled
|
Iframes disabled
|
||||||
</iframe><br>";
|
</iframe><br>";
|
||||||
|
$streamHash->{HELPER}{STREAM} = "<iframe src=$link $pws controls autoplay>
|
||||||
|
Iframes disabled
|
||||||
|
</iframe>"; # Stream für "get <SSCamSTRM-Device> popupStream" speichern
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\">$imgstop </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\">$imgstop </a>";
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdrefresh')\">$imgrefresh </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdrefresh')\">$imgrefresh </a>";
|
||||||
$ret .= "</td>";
|
$ret .= "</td>";
|
||||||
@ -6404,7 +6413,7 @@ sub SSCam_StreamDev($$$) {
|
|||||||
Your browser does not support the audio element.
|
Your browser does not support the audio element.
|
||||||
</audio>";
|
</audio>";
|
||||||
$ret .= "</td>";
|
$ret .= "</td>";
|
||||||
$ret .= "<td></td>" if(AttrVal($camname,"ptzPanel_use",1));
|
$ret .= "<td></td>" if(AttrVal($camname,"ptzPanel_use",0));
|
||||||
}
|
}
|
||||||
|
|
||||||
} elsif ($wltype =~ /video/) {
|
} elsif ($wltype =~ /video/) {
|
||||||
@ -6414,6 +6423,12 @@ sub SSCam_StreamDev($$$) {
|
|||||||
<source src=$link type=\"video/webm\">
|
<source src=$link type=\"video/webm\">
|
||||||
Your browser does not support the video tag
|
Your browser does not support the video tag
|
||||||
</video><br>";
|
</video><br>";
|
||||||
|
$streamHash->{HELPER}{STREAM} = "<video $pws controls autoplay>
|
||||||
|
<source src=$link type=\"video/mp4\">
|
||||||
|
<source src=$link type=\"video/ogg\">
|
||||||
|
<source src=$link type=\"video/webm\">
|
||||||
|
Your browser does not support the video tag
|
||||||
|
</video>"; # Stream für "get <SSCamSTRM-Device> popupStream" speichern
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\">$imgstop </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\">$imgstop </a>";
|
||||||
$ret .= "</td>";
|
$ret .= "</td>";
|
||||||
if($hash->{HELPER}{AUDIOLINK} && ReadingsVal($camname, "CamAudioType", "Unknown") !~ /Unknown/) {
|
if($hash->{HELPER}{AUDIOLINK} && ReadingsVal($camname, "CamAudioType", "Unknown") !~ /Unknown/) {
|
||||||
@ -6423,15 +6438,17 @@ sub SSCam_StreamDev($$$) {
|
|||||||
Your browser does not support the audio element.
|
Your browser does not support the audio element.
|
||||||
</audio>";
|
</audio>";
|
||||||
$ret .= "</td>";
|
$ret .= "</td>";
|
||||||
$ret .= "<td></td>" if(AttrVal($camname,"ptzPanel_use",1));
|
$ret .= "<td></td>" if(AttrVal($camname,"ptzPanel_use",0));
|
||||||
}
|
}
|
||||||
} elsif($wltype =~ /base64img/) {
|
} elsif($wltype =~ /base64img/) {
|
||||||
$ret .= "<td><img src='data:image/jpeg;base64,$link' $ha onClick=\"FW_okDialog('<img src=data:image/jpeg;base64,$link $pws>')\"><br>";
|
$ret .= "<td><img src='data:image/jpeg;base64,$link' $ha onClick=\"FW_okDialog('<img src=data:image/jpeg;base64,$link $pws>')\"><br>";
|
||||||
|
$streamHash->{HELPER}{STREAM} = "<img src='data:image/jpeg;base64,$link' $pws>"; # Stream für "get <SSCamSTRM-Device> popupStream" speichern
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\">$imgstop </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\">$imgstop </a>";
|
||||||
$ret .= "</td>";
|
$ret .= "</td>";
|
||||||
|
|
||||||
} elsif($wltype =~ /embed/) {
|
} elsif($wltype =~ /embed/) {
|
||||||
$ret .= "<td><embed src=$link $ha onClick=\"FW_okDialog('<img src=$link $pws>')\"></td>";
|
$ret .= "<td><embed src=$link $ha onClick=\"FW_okDialog('<img src=$link $pws>')\"></td>";
|
||||||
|
$streamHash->{HELPER}{STREAM} = "<embed src=$link $pws>"; # Stream für "get <SSCamSTRM-Device> popupStream" speichern
|
||||||
|
|
||||||
} elsif($wltype =~ /hls/) {
|
} elsif($wltype =~ /hls/) {
|
||||||
$ret .= "<td><video $ha controls autoplay>
|
$ret .= "<td><video $ha controls autoplay>
|
||||||
@ -6439,6 +6456,11 @@ sub SSCam_StreamDev($$$) {
|
|||||||
<source src=$link type=\"video/MP2T\">
|
<source src=$link type=\"video/MP2T\">
|
||||||
Your browser does not support the video tag
|
Your browser does not support the video tag
|
||||||
</video><br>";
|
</video><br>";
|
||||||
|
$streamHash->{HELPER}{STREAM} = "<video $pws controls autoplay>
|
||||||
|
<source src=$link type=\"application/x-mpegURL\">
|
||||||
|
<source src=$link type=\"video/MP2T\">
|
||||||
|
Your browser does not support the video tag
|
||||||
|
</video>"; # Stream für "get <SSCamSTRM-Device> popupStream" speichern
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\">$imgstop </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdstop')\">$imgstop </a>";
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdrefresh')\">$imgrefresh </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdrefresh')\">$imgrefresh </a>";
|
||||||
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdhlsreact')\">$imghlsreact </a>";
|
$ret .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmdhlsreact')\">$imghlsreact </a>";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user