PHP Onvif是一個開源的PHP庫,它可以協助我們集成ONVIF兼容的網絡視頻設備。 ONVIF代表開放式網絡視頻接口。 ONVIF被設計為跨平臺和標準化的接口,使視頻軟件開發人員使用同一組接口來連接網絡視頻設備,無論設備廠家,型號或品牌如何。 下面介紹涉及PHP Onvif的一些示例。
將php onvif包包含在項目中
首先,您需要在* composer.json *中包含php onvif包。 您可以在以下鏈接中查找小包:
https://packagist.org/packages/php-onvif/php-onvif
在您的項目根目錄中創建composer.json文件,并在其中包含以下依賴項:
{
" require ": {
"php-onvif/php-onvif": "^0.4.0"
}
}
完成后,使用命令行運行:
composer install
您將在您的項目根目錄下創建/ vendor目錄。在此目錄中,您將找到php onvif軟件包的所有文件。
使用php onvif連接ONVIF兼容的攝像頭
為了連接ONVIF兼容的網絡視頻設備,我們需要使用php onvif中的“Discovery”類。 下面是一些示例:
// Discover a device
$client = new \PhpOnvif\Discovery("192.168.1.0/24");
$deviceList = $client->discover();
// Get the first device from the list
$device = array_pop($deviceList);
// Get the camera instance
$camera = \PhpOnvif\Device::getDevice($device->getXAddr());
// Get the camera information
$info = $camera->getDeviceInformation();
// Print the camera information
echo "Manufacturer :" . $info->getManufacturer() . "
";
echo "Model :" . $info->getModel() . "
";
echo "Serial number :" . $info->getSerialNumber() . "
";
連接到IP攝像頭并從攝像頭獲取圖像
成功連接到IP攝像頭后,現在可以從攝像頭中獲取實時圖像。我們將使用php onvif的“Media”類。 下面是一些示例:
// Connect to the camera
$username = "admin";
$password = "password";
$camera->connect($username, $password);
// Get the media URL
$profiles = $camera->getMediaProfiles();
$profile = $profiles[0];
$url = $profile->getStreamUri();
// Get the image from the camera
$image = $camera->getSnapshotUri($url);
echo "Image URL :" . $image . "
";
使用php onvif與攝像頭進行雙向通信
有時,我們可能需要從IP攝像頭檢索視頻流,并從客戶端向IP攝像頭發送控制指令。 對于這種策略,我們使用php onvif的“PTZ”類。 下面是一些示例:
// Connect to the camera
$username = "admin";
$password = "password";
$camera->connect($username, $password);
// Get the media URL
$profiles = $camera->getMediaProfiles();
$profile = $profiles[0];
$url = $profile->getStreamUri();
// Create a live video stream object
$stream = new \PhpOnvif\Stream($camera, $url);
$stream->start($url);
// Move the camera to the right
$ptz = $camera->getPTZ();
$ptz->moveRight();
// Stop the video stream
$stream->stop();
結論
PHP Onvif是一個非常有用的工具,可以幫助我們更輕松地與ONVIF兼容的網絡視頻設備進行通信。 使用上述示例,您可以更好地理解如何使用PHP Onvif連接,獲取圖像和從客戶端發送控制指令。
下一篇php onblur