首页 > 编程语言 >python 检查rtsp流是否可用

python 检查rtsp流是否可用

时间:2023-04-28 15:14:26浏览次数:40  
标签:rtsp 可用 python cap cv2 PROP set CAP

import cv2

from func_timeout import func_set_timeout, exceptions


def check_rtsp_stream(url):
    @func_set_timeout(2)
    def parse_rtsp_stream(rtsp_address):
        try:
            cap = cv2.VideoCapture(rtsp_address)
            cap.set(cv2.CAP_PROP_FPS, 1)
            cap.set(cv2.CAP_PROP_BUFFERSIZE, 1)
            cap.set(cv2.CAP_PROP_POS_FRAMES, 1)
            cap.set(cv2.CAP_PROP_POS_AVI_RATIO, 1)
            cap.set(cv2.CAP_PROP_AUTOFOCUS, 0)
            cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
            cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
            cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*'H264'))
            cap.set(cv2.CAP_PROP_CONVERT_RGB, 1)
            cap.set(cv2.CAP_PROP_BRIGHTNESS, 50)
            cap.set(cv2.CAP_PROP_CONTRAST, 50)
            cap.set(cv2.CAP_PROP_SATURATION, 50)
            cap.set(cv2.CAP_PROP_HUE, 50)
            cap.set(cv2.CAP_PROP_GAIN, 50)
            cap.set(cv2.CAP_PROP_EXPOSURE, 50)
            cap.set(cv2.CAP_PROP_AUTO_EXPOSURE, 0.25)
            if cap.isOpened():
                cap.release()
                return True
            else:
                return False
        except cv2.error as e:
            return False
    try:
        return parse_rtsp_stream(url)
    except exceptions.FunctionTimedOut:
        return False


print(check_rtsp_stream("rtsp://admin:[email protected]/cam/realmonitor?channel=1&subtype=0"))

 

标签:rtsp,可用,python,cap,cv2,PROP,set,CAP
From: https://www.cnblogs.com/52-qq/p/17362241.html

相关文章

  • Python 字典(Dictionary)
    字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值key=>value对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号{}中,格式如下所示:d={key1:value1,key2:value2}键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。dict......
  • 【python基础】创建和删除目录
    前言importosimportshutilpath='/home/tfl19671/out'ifnotos.path.exists(path):os.mkdir(path)else:shutil.rmtree(path,True)os.mkdir(path)其中shutil.rmtree(filepath,ignore_errors=True)删除整个filepath路径的内容。如果ignore_errors=True,则表......
  • 当进入conda环境以后最好使用conda install来安装python包
    如果您已经进入了一个conda环境,那么建议使用condainstall来安装Python包。这是因为conda是Anaconda提供的软件包管理工具,它可以帮助您安装和管理您所需的软件包,同时保证这些软件包与您当前的conda环境兼容。与此不同,pip是Python默认的包管理工具,它依赖于操作系统中已安装的Pytho......
  • python的绘图工具matplotlib.pyplot
    matplotlib.pyplot是什么matplotlib.pyplot是matplotlib库的一个子模块,它提供了一种类似于MATLAB的绘图系统,可用于创建各种类型的图表和可视化图像。使用pyplot可以方便地绘制二维图形,如折线图、散点图、直方图、条形图等等。您可以使用函数plot()、scatter()......
  • Python: MySQL
     Pool   使用pool正确方法:从pool取connection,使用完close(),底层CMySQLConnection会return到deque,此时从pool中得到的PooledMySQLConnection底层_cnx变为None ......
  • Python
    importospath='E:/a_final/voc/images/JPEGImages'#路径filenames=os.listdir(path)#获取文件名print(filenames)#'list'objecthasnoattribute'split'#filenames=filenames.split('.')[0]#不会改变list中的值forf......
  • python学习中用到的网站
    清华大学开源软件镜像站,安装第三方模块时使用:pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplesome-package编程胶囊:https://codejiaonang.com/#/(学习正则表达式时)正则表达式的在线工具:https://regexr-cn.com/C语言中文网:http://c.biancheng.net/菜鸟教程:https://ww......
  • Python很多时候要从键盘连续输入一个数组,并用空格隔开;Python爬取一些数据;python pip安
    Python要从键盘连续输入一个数组,并用空格隔开,Python中的实现方法如下:str=input(‘以空格为间隔连续输入一个数组:’)然后在键盘中输入,会·得到的str为一个字符串,要将其转为一个列表有两种方法方法一:a=[int(n)forninstr_in.split()]方法二:a=list(map(int,str.strip().sp......
  • python做Excel表(折线)、python做Excel表(折线3d)、解决python -m pip install --upgrade
    python做Excel表(折线)fromopenpyxlimportWorkbookfromopenpyxl.chartimport(AreaChart,Reference,Series,)wb=Workbook()ws=wb.activerows=[['Number','Batch1','Batch2'],[2,40,30],[3,40,......
  • centeros7升级python2.5.7到python3.5.2
    centos7python2.7.5升级到3.5.2下载python3.5.2wgethttps://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz安装解压:tar-zxvfPython-3.5.2.tgz进入解压目录:cdPython-3.5.2创建安装目录:mkdir/usr/local/python3.5.2编译:./configure--prefix=/usr/local/python3.5.2安......