php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > XML
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


XML Hier passt alles rein, was das Thema XML (XSLT, JSON etc...) betrifft, auch in Verbindung mit PHP

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 14-05-2020, 10:45
Luis-g-
 Registrierter Benutzer
Links : Onlinestatus : Luis-g- ist offline
Registriert seit: May 2020
Beiträge: 1
Luis-g- befindet sich auf einem aufstrebenden Ast
Post Videostreaming auf ein SIP Phone

Moin zusammen,

ich eine Frage an euch. Ich habe vor kurzem ein Projekt angefangen. Eine Türsprechstelle(Kamera), die Verbunden ist mit einem Mitel 6873i Telefon. Dazu kann das 6873i IP Phone, Bilder aus einem Video-Stream entnehmen von der Türsprechstelle selber über eine Funktionstaste des Telefons. Als Brücke verwende ich einen Raspberry Pi, der für das lagern des Scriptes zuständig ist. Das Script kommt immer mit einem ERROR zurück. Vielleicht könnt ihr mir ja helfen.

IP von PI: 192.168.100.106
Apache2(XML SERVER): 192.168.100.106:81
RPI 4b -> IP: 192.168.100.106 mit den Ports: HTTP Server (81), Kamera-Webinterface (876) und der Video-Stream roh (877

IP des Telefons; 192.168.100.103

IP vom Netserver: 192.168.100.1

<?php

###################################################################################################
# Image Server for LevelOne IP Cam with Mitel 6869 SIP Phone
# Copyright Aastra Telecom 2011
#
# Script needs PHP5 or higher.
# GD module must enabled!
# Windows based systems: Uncomment the line 'extension=php_gd2.dll' in php.ini
#
# CONFIGURATION AND USAGE:
# Setup a XML softkey on 6739i phone.
# Key type: XML
# Key label: Doorcam
# Key value: http://<Webserver name or IP>/levelone/imageServer.php?levelone_addr=LEVELONE_IP_ADDR&image_title=OPTIONAL_IMAGE_TITLE
#
###################################################################################################


########################################### Configuration #########################################

# Page refresh interval on phone in seconds. Don't go below 2 seconds.
$REFRESH = 2;

############################################### Program code #######################################

$XML_SERVER="http://192.168.100.106:81".$_SERVER['http://192.168.100.106'].$_SERVER['imageServer.php'];

$imageMode = $_GET['image_mode'];
$levelone_addr = $_GET['levelone_addr'];
$image_title = $_GET['image_title'];
$dtmf_open = $_GET['dtmf_open'];
$key_press = $_GET['key_press'];

if (!empty($key_press)) {
print('<AastraIPPhoneExecute>');

$digits = str_split($key_press);
foreach($digits as $digit) {
if ($digit=='*') {$digit='Star';}
if ($digit=='#') {$digit='Pound';}
print('<ExecuteItem URI="Key:KeyPad'.$digit.'"/>');
}
print('</AastraIPPhoneExecute>');
exit;
}

if (empty($imageMode)) {
header("Refresh: ".$REFRESH."; url=".$XML_SERVER.'?levelone_addr='.$levelone_addr.'&image_title='.$image_title.'&dtmf_open='.$dtmf_ open);
print('<AastraIPPhoneImageScreen Timeout="10" destroyOnExit="yes" allowDTMF="yes">');
print('<Image width="480" height="192">'.$XML_SERVER.'?image_mode=1&amp;levelone_addr='.$levelone_addr.'&amp;image_title='.$im age_title.'&amp;dtmf_open='.$dtmf_open.'</Image>');
if (!empty($dtmf_open)) {print('<SoftKey index="8" icon="1"><Label>Open</Label><URI>'.$XML_SERVER.'?key_press='.$dtmf_open.'</URI></SoftKey>');}
print('<SoftKey index="5"><Label>Exit</Label><URI>SoftKey:Exit</URI></SoftKey>');
print('</AastraIPPhoneImageScreen>');
exit;
}

# Image source
$src = "http://192.168.100.106:876/picture/1/current";

# Connection header must be set to "close", otherwise file_get_contents() will take a long time to finish!
$context = stream_context_create(array('http' => array('header'=>'Connection: close')));

# Get still image from LevelOne IP
$content= file_get_contents($src, false, $context);

# Create image
$im = imagecreatefromstring($content);

# Scale image to 480x192 pixel
$im = scaleImage($im);
$color = imagecolorallocate($im, 255, 255, 255);
$font = "./fonts/DejaVuSans-Bold.ttf";

if (!empty($image_title)) {
// measure text width
$bbox = imagettfbbox(15, 0, $font, $image_title);

// This is our cordinates for X and Y
$x = (480 / 2) - ($bbox[4] / 2);
$y = 240;

// Write text
imagettftext($im, 15, 0, $x, $y, $color, $font, $image_title);
}

# Write time
imagefttext($im, 15, 0, 138, 332, $color, $font, date("H:i:s"));

# send image in the HTTP response
header ("Content-type: image/png");
imagepng($im);

exit;

############################################### Subroutines #######################################

function scaleImage($im) {

$canvas_width = 410;
$canvas_height = 210;

# create emtpy output image. use true color to avoid color palette problems
$im_output = imagecreatetruecolor($canvas_width, $canvas_height);

# get size of input image
$im_width = imagesx($im);
$im_height = imagesy($im);

# check if image is smaller than $canvas_width x $canvas_height pixels
if (($im_width < $canvas_width) && ($im_height < $canvas_height)) {

# simply copy the image in the center of the output image.
imagecopy($im_output, $im, (($canvas_width-$im_width)/2) ,(($canvas_height-$im_height)/2), 0, 0, $im_width, $im_height);

} else {

# check aspect ratio of source image
if ($im_width / $im_height <= ($canvas_width / $canvas_height)) {

# Scale to $canvas_height pixel height and center horizontally
$new_im_width = $im_width * ($canvas_height / $im_height);
imagecopyresampled($im_output, $im, (($canvas_width-$new_im_width)/2), 0, 0, 0, $new_im_width, $canvas_height, $im_width, $im_height);

} else {

# Scale to $canvas_width pixel width and center vertically
$new_im_height = $im_height * ($canvas_width / $im_width);
imagecopyresampled($im_output, $im, 0, (($canvas_height-$new_im_height)/2), 0, 0, $canvas_width, $new_im_height, $im_width, $im_height);
}
}
return $im_output;
}

?>

Geändert von Luis-g- (14-05-2020 um 13:12 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ein Wort auf Seite suchen yabexxl PHP Developer Forum 3 20-12-2015 00:16
SIP Url Direct superbeha BRAINSTORMING PHP/SQL/HTML/JS/CSS 2 04-04-2009 16:31
WAP auf Win95 - ein K(r)ampf ... roobin Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 0 20-04-2004 01:38
Variablen auf ein Bild ? mchashi PHP Developer Forum 4 08-07-2002 01:26
pay per phone bill???? schmalle Webmaster 3 21-03-2002 15:34

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

10 Gründe, warum das Todesstern-Projekt gescheitert ist
10 Gründe, warum das Todesstern-Projekt gescheitert istDie Todesstern-Projekte sind spektakulär gescheitert. Lernen Sie von den Fehlern des Imperiums und bewahren Sie Ihre Projekte davor, der dunklen Seite der Macht zu verfallen!

24.11.2020 | Berni

Projektmanagement-Grundlagen Was ist ein PMO?
Projektmanagement-Grundlagen Was ist ein PMO?In unserer Infografik erfahrt ihr es.

02.11.2020 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

21.10.2020 Berni | Kategorie: PHP/ Anzeigenmarkt
Sendeplan Script inkl. Wunsch- und Grußbox + Kick-System + Bewerbungssystem

Das professionelle Sendeplan PHP Script inkl. Wunsch- und Grußbox + Kick-System für dein Webradio. Der übersichtliche Sendeplan bietet deinen Moderatoren und Zuhörern die perfekte Übersicht der aktuellen Shows! Du kannst nicht nur Sendungen eintragen, s

20.10.2020 drcomputer | Kategorie: PHP/ Web Radio
Newsmanager 2

Der Newsmanager 2 ist sehr Vielfältig und kann News schreiben, Newsletter versenden und RSS Feeds in einem erzeugen.

20.10.2020 Stephan_1972 | Kategorie: PHP/ News
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:52 Uhr.