我有一台 Teledyne Dalsa Genie Nano XL 相机:将它连接到PC,它会被分配以下 IP地址:192.168.0.20
如何通过标准的opencv指令cap=cv2.VideoCapture('url')
查找或设置相机的网址视频流,以便访问其视频流?
任何帮助都将受到高度赞赏
答案 0 :(得分:0)
我假设您正尝试通过rtsp从IP摄像机流式传输。所以,你可以通过以下代码来实现它:
Python版:
cap = cv2.VideoCapture('rtsp://admin:admin@192.168.0.20:554/stream1 latency=0')
C ++版:
cv::VideoCapture cap("rtsp://admin:admin@192.168.0.20:554/stream1 latency=0");
此处,第一个admin
表示用于连接到您的ip摄像头的username
,第二个password
对应:554/stream1
。默认情况下,rtsp连接使用554端口,但您可以参考相机文档进行仔细检查。
字符串latency=0
因您的相机品牌而异。因此,您应该查看手册中的rtsp连接字符串。
参数function my_count_posts_by_user(){
global $wpdb;
$result = count_users();
$total_users = $result['total_users'];
for($id = 1;$id<=$total_users;$id++){
$result = $wpdb->get_results("SELECT wp_users.ID, wp_users.display_name, COUNT(wp_posts.post_author) AS 'Number_of_posts' FROM wp_users INNER JOIN wp_posts ON wp_users.ID = wp_posts.post_author WHERE wp_posts.post_type = 'post' AND wp_users.ID = $id AND wp_posts.post_status = 'publish'" , ARRAY_A);
echo '<table>';
foreach ($result as $x){
echo'<tr>';
echo'<td>'.'ID: '. $x['ID']."</td>";
echo'<td>'.'User : '. $x['display_name'].'</td>';
echo'<td>'.'Number of posts :'. $x['Number_of_posts'].'</td>';
echo'</tr>';
}
echo '</table>';
echo '<br>';
}
}
表示您希望从相机流式传输而不会有任何延迟。默认情况下,rtsp连接会为缓冲区创建延迟(类似于2-5秒),这会导致实际内容出现延迟。
答案 1 :(得分:0)
cap = cv2.VideoCapture('rtsp:// admin:admin@192.168.0.20:554 / stream1延迟= 0')
由于“ latency = 0”部分,此代码给出了错误