替换视频权重文件

main
姜尧 2023-10-07 13:54:35 +08:00
commit b45325f218
14 changed files with 917 additions and 17 deletions

8
.idea/.gitignore vendored 100644
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

17
.idea/billiard.iml 100644
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="Flask">
<option name="enabled" value="true" />
</component>
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TemplatesService">
<option name="TEMPLATE_CONFIGURATION" value="Jinja2" />
</component>
<component name="TestRunnerService">
<option name="PROJECT_TEST_RUNNER" value="Twisted Trial" />
</component>
</module>

View File

@ -0,0 +1,461 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredPackages">
<value>
<list size="439">
<item index="0" class="java.lang.String" itemvalue="Pillow" />
<item index="1" class="java.lang.String" itemvalue="PyJWT" />
<item index="2" class="java.lang.String" itemvalue="jsonfield" />
<item index="3" class="java.lang.String" itemvalue="PyYAML" />
<item index="4" class="java.lang.String" itemvalue="cffi" />
<item index="5" class="java.lang.String" itemvalue="kombu" />
<item index="6" class="java.lang.String" itemvalue="MarkupSafe" />
<item index="7" class="java.lang.String" itemvalue="pycparser" />
<item index="8" class="java.lang.String" itemvalue="requests" />
<item index="9" class="java.lang.String" itemvalue="drf-writable-nested" />
<item index="10" class="java.lang.String" itemvalue="Jinja2" />
<item index="11" class="java.lang.String" itemvalue="coreschema" />
<item index="12" class="java.lang.String" itemvalue="sqlparse" />
<item index="13" class="java.lang.String" itemvalue="celery" />
<item index="14" class="java.lang.String" itemvalue="djangorestframework-simplejwt" />
<item index="15" class="java.lang.String" itemvalue="certifi" />
<item index="16" class="java.lang.String" itemvalue="urllib3" />
<item index="17" class="java.lang.String" itemvalue="djangorestframework" />
<item index="18" class="java.lang.String" itemvalue="django-cors-headers" />
<item index="19" class="java.lang.String" itemvalue="vine" />
<item index="20" class="java.lang.String" itemvalue="billiard" />
<item index="21" class="java.lang.String" itemvalue="uritemplate" />
<item index="22" class="java.lang.String" itemvalue="six" />
<item index="23" class="java.lang.String" itemvalue="amqp" />
<item index="24" class="java.lang.String" itemvalue="asgiref" />
<item index="25" class="java.lang.String" itemvalue="cryptography" />
<item index="26" class="java.lang.String" itemvalue="bcrypt" />
<item index="27" class="java.lang.String" itemvalue="crypto" />
<item index="28" class="java.lang.String" itemvalue="Naked" />
<item index="29" class="java.lang.String" itemvalue="chardet" />
<item index="30" class="java.lang.String" itemvalue="coreapi" />
<item index="31" class="java.lang.String" itemvalue="django-crontab" />
<item index="32" class="java.lang.String" itemvalue="pinyin" />
<item index="33" class="java.lang.String" itemvalue="django-filter" />
<item index="34" class="java.lang.String" itemvalue="configparser" />
<item index="35" class="java.lang.String" itemvalue="Django" />
<item index="36" class="java.lang.String" itemvalue="itypes" />
<item index="37" class="java.lang.String" itemvalue="pycryptodome" />
<item index="38" class="java.lang.String" itemvalue="PyMySQL" />
<item index="39" class="java.lang.String" itemvalue="pytz" />
<item index="40" class="java.lang.String" itemvalue="idna" />
<item index="41" class="java.lang.String" itemvalue="shellescape" />
<item index="42" class="java.lang.String" itemvalue="pandas" />
<item index="43" class="java.lang.String" itemvalue="scikit-learn" />
<item index="44" class="java.lang.String" itemvalue="paramiko" />
<item index="45" class="java.lang.String" itemvalue="Fabric" />
<item index="46" class="java.lang.String" itemvalue="numba" />
<item index="47" class="java.lang.String" itemvalue="bs4" />
<item index="48" class="java.lang.String" itemvalue="greenlet" />
<item index="49" class="java.lang.String" itemvalue="Babel" />
<item index="50" class="java.lang.String" itemvalue="backports.os" />
<item index="51" class="java.lang.String" itemvalue="py" />
<item index="52" class="java.lang.String" itemvalue="python-slugify" />
<item index="53" class="java.lang.String" itemvalue="patsy" />
<item index="54" class="java.lang.String" itemvalue="mccabe" />
<item index="55" class="java.lang.String" itemvalue="bleach" />
<item index="56" class="java.lang.String" itemvalue="lxml" />
<item index="57" class="java.lang.String" itemvalue="jsonschema" />
<item index="58" class="java.lang.String" itemvalue="xlrd" />
<item index="59" class="java.lang.String" itemvalue="htmlfetcher" />
<item index="60" class="java.lang.String" itemvalue="prettytable" />
<item index="61" class="java.lang.String" itemvalue="fastcache" />
<item index="62" class="java.lang.String" itemvalue="imageio" />
<item index="63" class="java.lang.String" itemvalue="pytest-remotedata" />
<item index="64" class="java.lang.String" itemvalue="echarts-china-cities-pypkg" />
<item index="65" class="java.lang.String" itemvalue="matplotlib" />
<item index="66" class="java.lang.String" itemvalue="dash-core-components" />
<item index="67" class="java.lang.String" itemvalue="paddlenlp" />
<item index="68" class="java.lang.String" itemvalue="Bottleneck" />
<item index="69" class="java.lang.String" itemvalue="networkx" />
<item index="70" class="java.lang.String" itemvalue="pluggy" />
<item index="71" class="java.lang.String" itemvalue="pyttsx3" />
<item index="72" class="java.lang.String" itemvalue="pep8" />
<item index="73" class="java.lang.String" itemvalue="numpy" />
<item index="74" class="java.lang.String" itemvalue="jdcal" />
<item index="75" class="java.lang.String" itemvalue="jupyter" />
<item index="76" class="java.lang.String" itemvalue="selenium" />
<item index="77" class="java.lang.String" itemvalue="Deprecated" />
<item index="78" class="java.lang.String" itemvalue="pyOpenSSL" />
<item index="79" class="java.lang.String" itemvalue="PyWavelets" />
<item index="80" class="java.lang.String" itemvalue="prompt-toolkit" />
<item index="81" class="java.lang.String" itemvalue="QtAwesome" />
<item index="82" class="java.lang.String" itemvalue="pyee" />
<item index="83" class="java.lang.String" itemvalue="glob2" />
<item index="84" class="java.lang.String" itemvalue="Rx" />
<item index="85" class="java.lang.String" itemvalue="lz4" />
<item index="86" class="java.lang.String" itemvalue="pyppeteer" />
<item index="87" class="java.lang.String" itemvalue="aiofiles" />
<item index="88" class="java.lang.String" itemvalue="flask-ngrok" />
<item index="89" class="java.lang.String" itemvalue="PyHamcrest" />
<item index="90" class="java.lang.String" itemvalue="Send2Trash" />
<item index="91" class="java.lang.String" itemvalue="imagesize" />
<item index="92" class="java.lang.String" itemvalue="et-xmlfile" />
<item index="93" class="java.lang.String" itemvalue="pathlib2" />
<item index="94" class="java.lang.String" itemvalue="autobahn" />
<item index="95" class="java.lang.String" itemvalue="echarts-china-counties-pypkg" />
<item index="96" class="java.lang.String" itemvalue="dash-table" />
<item index="97" class="java.lang.String" itemvalue="pylint" />
<item index="98" class="java.lang.String" itemvalue="multidict" />
<item index="99" class="java.lang.String" itemvalue="isort" />
<item index="100" class="java.lang.String" itemvalue="olefile" />
<item index="101" class="java.lang.String" itemvalue="ruamel_yaml" />
<item index="102" class="java.lang.String" itemvalue="keyring" />
<item index="103" class="java.lang.String" itemvalue="pytest-astropy" />
<item index="104" class="java.lang.String" itemvalue="protobuf" />
<item index="105" class="java.lang.String" itemvalue="graphql-relay" />
<item index="106" class="java.lang.String" itemvalue="joblib" />
<item index="107" class="java.lang.String" itemvalue="bce-python-sdk" />
<item index="108" class="java.lang.String" itemvalue="nltk" />
<item index="109" class="java.lang.String" itemvalue="atomicwrites" />
<item index="110" class="java.lang.String" itemvalue="python-dotenv" />
<item index="111" class="java.lang.String" itemvalue="h11" />
<item index="112" class="java.lang.String" itemvalue="partd" />
<item index="113" class="java.lang.String" itemvalue="Click" />
<item index="114" class="java.lang.String" itemvalue="html2text" />
<item index="115" class="java.lang.String" itemvalue="promise" />
<item index="116" class="java.lang.String" itemvalue="filelock" />
<item index="117" class="java.lang.String" itemvalue="numpydoc" />
<item index="118" class="java.lang.String" itemvalue="pyzmq" />
<item index="119" class="java.lang.String" itemvalue="aliyun-python-sdk-sts" />
<item index="120" class="java.lang.String" itemvalue="astropy" />
<item index="121" class="java.lang.String" itemvalue="entrypoints" />
<item index="122" class="java.lang.String" itemvalue="bkcharts" />
<item index="123" class="java.lang.String" itemvalue="PyExecJS" />
<item index="124" class="java.lang.String" itemvalue="pyparsing" />
<item index="125" class="java.lang.String" itemvalue="munch" />
<item index="126" class="java.lang.String" itemvalue="pypinyin" />
<item index="127" class="java.lang.String" itemvalue="beautifulsoup4" />
<item index="128" class="java.lang.String" itemvalue="path.py" />
<item index="129" class="java.lang.String" itemvalue="clyent" />
<item index="130" class="java.lang.String" itemvalue="hyperlink" />
<item index="131" class="java.lang.String" itemvalue="libarchive-c" />
<item index="132" class="java.lang.String" itemvalue="django-crispy-forms" />
<item index="133" class="java.lang.String" itemvalue="dash-bootstrap-components" />
<item index="134" class="java.lang.String" itemvalue="grapheme" />
<item index="135" class="java.lang.String" itemvalue="xarray" />
<item index="136" class="java.lang.String" itemvalue="odfpy" />
<item index="137" class="java.lang.String" itemvalue="dash-colorscales" />
<item index="138" class="java.lang.String" itemvalue="parsel" />
<item index="139" class="java.lang.String" itemvalue="channels" />
<item index="140" class="java.lang.String" itemvalue="cssselect" />
<item index="141" class="java.lang.String" itemvalue="multipledispatch" />
<item index="142" class="java.lang.String" itemvalue="distlib" />
<item index="143" class="java.lang.String" itemvalue="pypiwin32" />
<item index="144" class="java.lang.String" itemvalue="cfgv" />
<item index="145" class="java.lang.String" itemvalue="dtale" />
<item index="146" class="java.lang.String" itemvalue="itemadapter" />
<item index="147" class="java.lang.String" itemvalue="numexpr" />
<item index="148" class="java.lang.String" itemvalue="jupyter-core" />
<item index="149" class="java.lang.String" itemvalue="ipython_genutils" />
<item index="150" class="java.lang.String" itemvalue="python-Levenshtein" />
<item index="151" class="java.lang.String" itemvalue="python-sql" />
<item index="152" class="java.lang.String" itemvalue="qrcode" />
<item index="153" class="java.lang.String" itemvalue="rope" />
<item index="154" class="java.lang.String" itemvalue="httplib2" />
<item index="155" class="java.lang.String" itemvalue="ppscore" />
<item index="156" class="java.lang.String" itemvalue="django-pandas" />
<item index="157" class="java.lang.String" itemvalue="llvmlite" />
<item index="158" class="java.lang.String" itemvalue="graphene" />
<item index="159" class="java.lang.String" itemvalue="pycrypto" />
<item index="160" class="java.lang.String" itemvalue="conda" />
<item index="161" class="java.lang.String" itemvalue="identify" />
<item index="162" class="java.lang.String" itemvalue="pyflakes" />
<item index="163" class="java.lang.String" itemvalue="asn1crypto" />
<item index="164" class="java.lang.String" itemvalue="parso" />
<item index="165" class="java.lang.String" itemvalue="pytest-doctestplus" />
<item index="166" class="java.lang.String" itemvalue="kaleido" />
<item index="167" class="java.lang.String" itemvalue="ipython" />
<item index="168" class="java.lang.String" itemvalue="xlwt" />
<item index="169" class="java.lang.String" itemvalue="dill" />
<item index="170" class="java.lang.String" itemvalue="packaging" />
<item index="171" class="java.lang.String" itemvalue="cssutils" />
<item index="172" class="java.lang.String" itemvalue="MarkupPy" />
<item index="173" class="java.lang.String" itemvalue="parse" />
<item index="174" class="java.lang.String" itemvalue="JPype1" />
<item index="175" class="java.lang.String" itemvalue="click-plugins" />
<item index="176" class="java.lang.String" itemvalue="Flask-RESTful" />
<item index="177" class="java.lang.String" itemvalue="feather" />
<item index="178" class="java.lang.String" itemvalue="pickleshare" />
<item index="179" class="java.lang.String" itemvalue="defusedxml" />
<item index="180" class="java.lang.String" itemvalue="lml" />
<item index="181" class="java.lang.String" itemvalue="plotly-express" />
<item index="182" class="java.lang.String" itemvalue="pyclipper" />
<item index="183" class="java.lang.String" itemvalue="zxing" />
<item index="184" class="java.lang.String" itemvalue="pyasn1-modules" />
<item index="185" class="java.lang.String" itemvalue="Pygments" />
<item index="186" class="java.lang.String" itemvalue="fake-useragent" />
<item index="187" class="java.lang.String" itemvalue="docutils" />
<item index="188" class="java.lang.String" itemvalue="multiprocess" />
<item index="189" class="java.lang.String" itemvalue="gevent" />
<item index="190" class="java.lang.String" itemvalue="pyproj" />
<item index="191" class="java.lang.String" itemvalue="cchardet" />
<item index="192" class="java.lang.String" itemvalue="comtypes" />
<item index="193" class="java.lang.String" itemvalue="django-formtools" />
<item index="194" class="java.lang.String" itemvalue="qtconsole" />
<item index="195" class="java.lang.String" itemvalue="pydantic" />
<item index="196" class="java.lang.String" itemvalue="aniso8601" />
<item index="197" class="java.lang.String" itemvalue="graphql-core" />
<item index="198" class="java.lang.String" itemvalue="opentelemetry-api" />
<item index="199" class="java.lang.String" itemvalue="distributed" />
<item index="200" class="java.lang.String" itemvalue="jupyter-client" />
<item index="201" class="java.lang.String" itemvalue="ipykernel" />
<item index="202" class="java.lang.String" itemvalue="nbconvert" />
<item index="203" class="java.lang.String" itemvalue="phik" />
<item index="204" class="java.lang.String" itemvalue="attrs" />
<item index="205" class="java.lang.String" itemvalue="psutil" />
<item index="206" class="java.lang.String" itemvalue="jedi" />
<item index="207" class="java.lang.String" itemvalue="platformdirs" />
<item index="208" class="java.lang.String" itemvalue="cytoolz" />
<item index="209" class="java.lang.String" itemvalue="oss2" />
<item index="210" class="java.lang.String" itemvalue="Flask-Babel" />
<item index="211" class="java.lang.String" itemvalue="msgpack" />
<item index="212" class="java.lang.String" itemvalue="Geohash" />
<item index="213" class="java.lang.String" itemvalue="decorator" />
<item index="214" class="java.lang.String" itemvalue="queuelib" />
<item index="215" class="java.lang.String" itemvalue="pandas-profiling" />
<item index="216" class="java.lang.String" itemvalue="itemloaders" />
<item index="217" class="java.lang.String" itemvalue="pandocfilters" />
<item index="218" class="java.lang.String" itemvalue="backports.shutil-get-terminal-size" />
<item index="219" class="java.lang.String" itemvalue="pycodestyle" />
<item index="220" class="java.lang.String" itemvalue="pycosat" />
<item index="221" class="java.lang.String" itemvalue="pyasn1" />
<item index="222" class="java.lang.String" itemvalue="bitarray" />
<item index="223" class="java.lang.String" itemvalue="imgaug" />
<item index="224" class="java.lang.String" itemvalue="recursive" />
<item index="225" class="java.lang.String" itemvalue="pyrsistent" />
<item index="226" class="java.lang.String" itemvalue="XlsxWriter" />
<item index="227" class="java.lang.String" itemvalue="multimethod" />
<item index="228" class="java.lang.String" itemvalue="zipp" />
<item index="229" class="java.lang.String" itemvalue="pkginfo" />
<item index="230" class="java.lang.String" itemvalue="jsonpath" />
<item index="231" class="java.lang.String" itemvalue="pyg2plot" />
<item index="232" class="java.lang.String" itemvalue="musicdl" />
<item index="233" class="java.lang.String" itemvalue="scapy" />
<item index="234" class="java.lang.String" itemvalue="cached-property" />
<item index="235" class="java.lang.String" itemvalue="itsdangerous" />
<item index="236" class="java.lang.String" itemvalue="pyreadline" />
<item index="237" class="java.lang.String" itemvalue="ipywidgets" />
<item index="238" class="java.lang.String" itemvalue="scipy" />
<item index="239" class="java.lang.String" itemvalue="sentinel" />
<item index="240" class="java.lang.String" itemvalue="opencv-python" />
<item index="241" class="java.lang.String" itemvalue="grainy" />
<item index="242" class="java.lang.String" itemvalue="plotly" />
<item index="243" class="java.lang.String" itemvalue="htmlmin" />
<item index="244" class="java.lang.String" itemvalue="incremental" />
<item index="245" class="java.lang.String" itemvalue="mistune" />
<item index="246" class="java.lang.String" itemvalue="future" />
<item index="247" class="java.lang.String" itemvalue="mpmath" />
<item index="248" class="java.lang.String" itemvalue="jupyter-console" />
<item index="249" class="java.lang.String" itemvalue="bokeh" />
<item index="250" class="java.lang.String" itemvalue="cachetools" />
<item index="251" class="java.lang.String" itemvalue="yarl" />
<item index="252" class="java.lang.String" itemvalue="mysqlclient" />
<item index="253" class="java.lang.String" itemvalue="Automat" />
<item index="254" class="java.lang.String" itemvalue="html5lib" />
<item index="255" class="java.lang.String" itemvalue="paddleocr" />
<item index="256" class="java.lang.String" itemvalue="colorlog" />
<item index="257" class="java.lang.String" itemvalue="missingno" />
<item index="258" class="java.lang.String" itemvalue="python-dateutil" />
<item index="259" class="java.lang.String" itemvalue="Brotli" />
<item index="260" class="java.lang.String" itemvalue="pre-commit" />
<item index="261" class="java.lang.String" itemvalue="about-time" />
<item index="262" class="java.lang.String" itemvalue="QtPy" />
<item index="263" class="java.lang.String" itemvalue="astroid" />
<item index="264" class="java.lang.String" itemvalue="cycler" />
<item index="265" class="java.lang.String" itemvalue="pytest-arraydiff" />
<item index="266" class="java.lang.String" itemvalue="constantly" />
<item index="267" class="java.lang.String" itemvalue="dtaledesktop" />
<item index="268" class="java.lang.String" itemvalue="locket" />
<item index="269" class="java.lang.String" itemvalue="heapdict" />
<item index="270" class="java.lang.String" itemvalue="lmdb" />
<item index="271" class="java.lang.String" itemvalue="httptools" />
<item index="272" class="java.lang.String" itemvalue="frozenlist" />
<item index="273" class="java.lang.String" itemvalue="appdirs" />
<item index="274" class="java.lang.String" itemvalue="premailer" />
<item index="275" class="java.lang.String" itemvalue="contextlib2" />
<item index="276" class="java.lang.String" itemvalue="Faker" />
<item index="277" class="java.lang.String" itemvalue="playwright" />
<item index="278" class="java.lang.String" itemvalue="pip" />
<item index="279" class="java.lang.String" itemvalue="PyDispatcher" />
<item index="280" class="java.lang.String" itemvalue="daphne" />
<item index="281" class="java.lang.String" itemvalue="notebook" />
<item index="282" class="java.lang.String" itemvalue="opencv-contrib-python" />
<item index="283" class="java.lang.String" itemvalue="xlwings" />
<item index="284" class="java.lang.String" itemvalue="Scrapy" />
<item index="285" class="java.lang.String" itemvalue="django-apscheduler" />
<item index="286" class="java.lang.String" itemvalue="nodeenv" />
<item index="287" class="java.lang.String" itemvalue="pyodbc" />
<item index="288" class="java.lang.String" itemvalue="boto" />
<item index="289" class="java.lang.String" itemvalue="cligj" />
<item index="290" class="java.lang.String" itemvalue="h5py" />
<item index="291" class="java.lang.String" itemvalue="django-import-export" />
<item index="292" class="java.lang.String" itemvalue="kiwisolver" />
<item index="293" class="java.lang.String" itemvalue="zope.interface" />
<item index="294" class="java.lang.String" itemvalue="htmlparsing" />
<item index="295" class="java.lang.String" itemvalue="pytest-openfiles" />
<item index="296" class="java.lang.String" itemvalue="APScheduler" />
<item index="297" class="java.lang.String" itemvalue="django-reversion" />
<item index="298" class="java.lang.String" itemvalue="backcall" />
<item index="299" class="java.lang.String" itemvalue="PySocks" />
<item index="300" class="java.lang.String" itemvalue="retrying" />
<item index="301" class="java.lang.String" itemvalue="charset-normalizer" />
<item index="302" class="java.lang.String" itemvalue="django-ratelimit" />
<item index="303" class="java.lang.String" itemvalue="dask" />
<item index="304" class="java.lang.String" itemvalue="dash" />
<item index="305" class="java.lang.String" itemvalue="pyecharts-snapshot" />
<item index="306" class="java.lang.String" itemvalue="scikit-image" />
<item index="307" class="java.lang.String" itemvalue="echarts-china-provinces-pypkg" />
<item index="308" class="java.lang.String" itemvalue="jieba" />
<item index="309" class="java.lang.String" itemvalue="async-timeout" />
<item index="310" class="java.lang.String" itemvalue="more-itertools" />
<item index="311" class="java.lang.String" itemvalue="cloudpickle" />
<item index="312" class="java.lang.String" itemvalue="importlib-metadata" />
<item index="313" class="java.lang.String" itemvalue="flake8" />
<item index="314" class="java.lang.String" itemvalue="zict" />
<item index="315" class="java.lang.String" itemvalue="pyecharts" />
<item index="316" class="java.lang.String" itemvalue="jupyterlab" />
<item index="317" class="java.lang.String" itemvalue="Cython" />
<item index="318" class="java.lang.String" itemvalue="Flask" />
<item index="319" class="java.lang.String" itemvalue="nose" />
<item index="320" class="java.lang.String" itemvalue="pytest" />
<item index="321" class="java.lang.String" itemvalue="dash-html-components" />
<item index="322" class="java.lang.String" itemvalue="dash-daq" />
<item index="323" class="java.lang.String" itemvalue="jupyterlab-server" />
<item index="324" class="java.lang.String" itemvalue="nbformat" />
<item index="325" class="java.lang.String" itemvalue="Protego" />
<item index="326" class="java.lang.String" itemvalue="prometheus-client" />
<item index="327" class="java.lang.String" itemvalue="Flask-Compress" />
<item index="328" class="java.lang.String" itemvalue="lazy-object-proxy" />
<item index="329" class="java.lang.String" itemvalue="aliyun-python-sdk-kms" />
<item index="330" class="java.lang.String" itemvalue="colorama" />
<item index="331" class="java.lang.String" itemvalue="ply" />
<item index="332" class="java.lang.String" itemvalue="pyquery" />
<item index="333" class="java.lang.String" itemvalue="ImageHash" />
<item index="334" class="java.lang.String" itemvalue="openpyxl" />
<item index="335" class="java.lang.String" itemvalue="tangled-up-in-unicode" />
<item index="336" class="java.lang.String" itemvalue="traitlets" />
<item index="337" class="java.lang.String" itemvalue="tzlocal" />
<item index="338" class="java.lang.String" itemvalue="pywinpty" />
<item index="339" class="java.lang.String" itemvalue="threadpoolctl" />
<item index="340" class="java.lang.String" itemvalue="testpath" />
<item index="341" class="java.lang.String" itemvalue="strsimpy" />
<item index="342" class="java.lang.String" itemvalue="psycopg2" />
<item index="343" class="java.lang.String" itemvalue="spyder-kernels" />
<item index="344" class="java.lang.String" itemvalue="setuptools" />
<item index="345" class="java.lang.String" itemvalue="mkl-random" />
<item index="346" class="java.lang.String" itemvalue="demjson" />
<item index="347" class="java.lang.String" itemvalue="snowballstemmer" />
<item index="348" class="java.lang.String" itemvalue="graphene-django" />
<item index="349" class="java.lang.String" itemvalue="tables" />
<item index="350" class="java.lang.String" itemvalue="conda-verify" />
<item index="351" class="java.lang.String" itemvalue="starlette" />
<item index="352" class="java.lang.String" itemvalue="soupsieve" />
<item index="353" class="java.lang.String" itemvalue="anaconda-navigator" />
<item index="354" class="java.lang.String" itemvalue="uvicorn" />
<item index="355" class="java.lang.String" itemvalue="xadmin" />
<item index="356" class="java.lang.String" itemvalue="sympy" />
<item index="357" class="java.lang.String" itemvalue="sphinxcontrib-websupport" />
<item index="358" class="java.lang.String" itemvalue="pywin32" />
<item index="359" class="java.lang.String" itemvalue="navigator-updater" />
<item index="360" class="java.lang.String" itemvalue="service-identity" />
<item index="361" class="java.lang.String" itemvalue="terminado" />
<item index="362" class="java.lang.String" itemvalue="wincertstore" />
<item index="363" class="java.lang.String" itemvalue="tsod" />
<item index="364" class="java.lang.String" itemvalue="win-unicode-console" />
<item index="365" class="java.lang.String" itemvalue="aliyunsdkcore" />
<item index="366" class="java.lang.String" itemvalue="Werkzeug" />
<item index="367" class="java.lang.String" itemvalue="anaconda-project" />
<item index="368" class="java.lang.String" itemvalue="tablib" />
<item index="369" class="java.lang.String" itemvalue="shellcheck-py" />
<item index="370" class="java.lang.String" itemvalue="wrapt" />
<item index="371" class="java.lang.String" itemvalue="menuinst" />
<item index="372" class="java.lang.String" itemvalue="toapi" />
<item index="373" class="java.lang.String" itemvalue="conda-package-handling" />
<item index="374" class="java.lang.String" itemvalue="simplejson" />
<item index="375" class="java.lang.String" itemvalue="watchgod" />
<item index="376" class="java.lang.String" itemvalue="anaconda-client" />
<item index="377" class="java.lang.String" itemvalue="widgetsnbextension" />
<item index="378" class="java.lang.String" itemvalue="virtualenv" />
<item index="379" class="java.lang.String" itemvalue="alive-progress" />
<item index="380" class="java.lang.String" itemvalue="diff-match-patch" />
<item index="381" class="java.lang.String" itemvalue="pycurl" />
<item index="382" class="java.lang.String" itemvalue="SQLAlchemy" />
<item index="383" class="java.lang.String" itemvalue="tblib" />
<item index="384" class="java.lang.String" itemvalue="ariadne" />
<item index="385" class="java.lang.String" itemvalue="wget" />
<item index="386" class="java.lang.String" itemvalue="wcwidth" />
<item index="387" class="java.lang.String" itemvalue="w3lib" />
<item index="388" class="java.lang.String" itemvalue="simplegeneric" />
<item index="389" class="java.lang.String" itemvalue="squarify" />
<item index="390" class="java.lang.String" itemvalue="mkl-fft" />
<item index="391" class="java.lang.String" itemvalue="strawberry-graphql-django" />
<item index="392" class="java.lang.String" itemvalue="alabaster" />
<item index="393" class="java.lang.String" itemvalue="seaborn" />
<item index="394" class="java.lang.String" itemvalue="seqeval" />
<item index="395" class="java.lang.String" itemvalue="tls-sig-api-v2" />
<item index="396" class="java.lang.String" itemvalue="tenacity" />
<item index="397" class="java.lang.String" itemvalue="txaio" />
<item index="398" class="java.lang.String" itemvalue="visions" />
<item index="399" class="java.lang.String" itemvalue="graphene-django-extras" />
<item index="400" class="java.lang.String" itemvalue="visualdl" />
<item index="401" class="java.lang.String" itemvalue="websockets" />
<item index="402" class="java.lang.String" itemvalue="sortedcollections" />
<item index="403" class="java.lang.String" itemvalue="tornado" />
<item index="404" class="java.lang.String" itemvalue="snapshot-phantomjs" />
<item index="405" class="java.lang.String" itemvalue="Shapely" />
<item index="406" class="java.lang.String" itemvalue="wheel" />
<item index="407" class="java.lang.String" itemvalue="text-unidecode" />
<item index="408" class="java.lang.String" itemvalue="conda-build" />
<item index="409" class="java.lang.String" itemvalue="GDAL" />
<item index="410" class="java.lang.String" itemvalue="python-multipart" />
<item index="411" class="java.lang.String" itemvalue="toml" />
<item index="412" class="java.lang.String" itemvalue="singledispatch" />
<item index="413" class="java.lang.String" itemvalue="sortedcontainers" />
<item index="414" class="java.lang.String" itemvalue="tqdm" />
<item index="415" class="java.lang.String" itemvalue="win-inet-pton" />
<item index="416" class="java.lang.String" itemvalue="fastapi" />
<item index="417" class="java.lang.String" itemvalue="strawberry-graphql" />
<item index="418" class="java.lang.String" itemvalue="toolz" />
<item index="419" class="java.lang.String" itemvalue="Sphinx" />
<item index="420" class="java.lang.String" itemvalue="spyder" />
<item index="421" class="java.lang.String" itemvalue="typing_extensions" />
<item index="422" class="java.lang.String" itemvalue="statsmodels" />
<item index="423" class="java.lang.String" itemvalue="aiohttp" />
<item index="424" class="java.lang.String" itemvalue="gopup" />
<item index="425" class="java.lang.String" itemvalue="aiosignal" />
<item index="426" class="java.lang.String" itemvalue="unicodecsv" />
<item index="427" class="java.lang.String" itemvalue="webencodings" />
<item index="428" class="java.lang.String" itemvalue="Twisted" />
<item index="429" class="java.lang.String" itemvalue="channels-redis" />
<item index="430" class="java.lang.String" itemvalue="fsspec" />
<item index="431" class="java.lang.String" itemvalue="fonttools" />
<item index="432" class="java.lang.String" itemvalue="tifffile" />
<item index="433" class="java.lang.String" itemvalue="tritonclient" />
<item index="434" class="java.lang.String" itemvalue="asgi-redis" />
<item index="435" class="java.lang.String" itemvalue="twisted-iocpsupport" />
<item index="436" class="java.lang.String" itemvalue="x2paddle" />
<item index="437" class="java.lang.String" itemvalue="redis" />
<item index="438" class="java.lang.String" itemvalue="contourpy" />
</list>
</value>
</option>
</inspection_tool>
<inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredIdentifiers">
<list>
<option value="core.utility.camera_model" />
</list>
</option>
</inspection_tool>
<inspection_tool class="Stylelint" enabled="true" level="ERROR" enabled_by_default="true" />
</profile>
</component>

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

4
.idea/misc.xml 100644
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7 (billiard)" project-jdk-type="Python SDK" />
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/billiard.iml" filepath="$PROJECT_DIR$/.idea/billiard.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml 100644
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

107
app.py
View File

@ -1,9 +1,13 @@
import cv2
import json
import time
import torch
import requests
import threading
import numpy as np
import supervision as sv
from datetime import datetime
from ultralytics import YOLO
from flask import Flask,request,Response
from multiprocessing import Process, Event
@ -39,33 +43,78 @@ def stop(id):
@app.route('/show',methods=['POST'])
def show():
print(request.data)
# print(request.json)
data = request.json["content"]
info(data)
return 'ok'
def info(data):
balls = data["balls"]
table = data["table"]
text = f"table:{table:>3} "
for i in range(16):
ball = "#" if "ball"+str(i) in balls else " "
text += f"| {i} : {ball} "
print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'),text)
def worker(id,source,region=None,stream=False):
if region == None:
region = 10
else:
region = int(region)
print("start loading model...",id,source,region)
model = YOLO('./best.pt')
print("start loaded model!!!")
balls = {}
count = 0
print(source)
delay = 0
bgn = 0
try:
cap = cv2.VideoCapture(source)
if not cap.isOpened():
print("Error opening video stream.")
if source.endswith(".mp4"):
fps = cap.get(cv2.CAP_PROP_FPS)
delay = 1000.0 / fps
print("start video stream... ", fps, delay)
while True:
use = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
if bgn != 0 and delay != 0 and time.time()*1000 - bgn < 2*delay:
print("sleep",2*delay - (time.time()*1000 - bgn))
time.sleep((2*delay - (time.time()*1000 - bgn))/1000)
bgn = (time.time()*1000)
ret, frame = cap.read()
del(ret)
del(frame)
ret, frame = cap.read()
use += " read:"+str((time.time()*1000) - bgn)
if not ret:
print("Error read video stream.")
break
result = model.track(frame,show=False,stream=False,persist=True,device=int(id)%4)
cap = cv2.VideoCapture(source)
if not cap.isOpened():
print("Error opening video stream..")
cap = cv2.VideoCapture(source)
time.sleep(1)
if not cap.isOpened():
print("Error opening video stream...")
time.sleep(3)
if not cap.isOpened():
print("Error opening video stream....")
break
continue
result = model.track(frame,device=int(id)%4,tracker='botsort.yaml')
use += " track:"+str((time.time()*1000) - bgn)
del(ret)
del(frame)
result = result[0]
detections = sv.Detections.from_yolov8(result)
if result.boxes.id is not None:
detections.tracker_id = result.boxes.id.cpu().numpy().astype(int)
detections = detections[(detections.tracker_id != None)]
else:
detections.tracker_id = np.array([])
detections.conf = np.array([])
detections.xyxy=np.empty((0, 4), dtype=np.float32)
# detections = detections[(detections.tracker_id != None)]
count += 1
names = {}
@ -84,15 +133,21 @@ def worker(id,source,region=None,stream=False):
balls[name] = ball
names[name] = True
names = {}
use += " names:"+str((time.time()*1000) - bgn)
if count < region:
continue
json_data = json.dumps({"table":id,"balls":balls,"time":int(time.time()*1000)})
data = {"table":id,"balls":balls,"time":int(time.time()*1000)}
info(data)
json_data = json.dumps(data)
balls = {}
count = 0
use += " dump:"+str((time.time()*1000) - bgn)
if not stream:
yield json_data
else:
yield f"data: {json_data}\n\n"
use += " yield:"+str((time.time()*1000) - bgn)
print("model.track",use)
except GeneratorExit:
print("Client disconnected at", time.ctime())
@ -102,21 +157,47 @@ def workerloop(stop_event,id,source,target=None,region=None):
try:
gen = worker(id,source,region)
for data in gen:
use = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
bgn = (time.time()*1000)
if stop_event.is_set():
break
json_data = json.loads(data)
# 设置请求头
headers = {
"Content-Type": "application/json"
}
use += " loads:"+str((time.time()*1000) - bgn)
text = json.dumps({"content":json_data})
print(text)
response = requests.post(target, data=text, headers=headers)
use += " dumps:"+str((time.time()*1000) - bgn)
print(response.text)
# 创建并启动线程
thread = threading.Thread(target=post_request, args=(target, text))
thread.start()
use += " post:"+str((time.time()*1000) - bgn)
print("workerloop",use)
finally:
gen.close()
def post_request(url, data):
use = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
bgn = (time.time()*1000)
headers = {
"Content-Type": "application/json"
}
response = requests.post(url, data=data,headers=headers)
use += " post:"+str((time.time()*1000) - bgn ) +"ms"
print("post_request",use,response.text)
# import pstats
# import cProfile
# def test_function():
# url = "rtmp://rtmp03open.ys7.com:1935/v3/openlive/L05874022_1_1?expire=1726389273&id=625006970167889920&t=2c7f371063e4ad672cb7a7c34b2a236e9ff37b02052f818c9c4fe7ae9632cd0e&ev=100"
# gen = worker(0,url,5)
# count = 0
# for data in gen:
# count += 1
# if count > 10:
# break
if __name__ == '__main__':
# cProfile.run('test_function()', 'test_function.profile')
# p = pstats.Stats('test_function.profile')
# p.sort_stats('cumulative').print_stats(100) # Top 10 by cumulative time
app.run("0.0.0.0",threaded=True)

18
botsort.yaml 100644
View File

@ -0,0 +1,18 @@
# Ultralytics YOLO 🚀, AGPL-3.0 license
# Default YOLO tracker settings for BoT-SORT tracker https://github.com/NirAharon/BoT-SORT
tracker_type: botsort # tracker type, ['botsort', 'bytetrack']
track_high_thresh: 0.3 # threshold for the first association
track_low_thresh: 0.1 # threshold for the second association
new_track_thresh: 0.5 # threshold for init new track if the detection does not match any tracks
track_buffer: 10 # buffer to calculate the time when to remove tracks
match_thresh: 0.8 # threshold for matching tracks
# min_box_area: 10 # threshold for min box areas(for tracker evaluation, not used for now)
# mot20: False # for tracker evaluation(not used for now)
# BoT-SORT settings
gmc_method: sparseOptFlow # method of global motion compensation
# ReID model related thresh (not supported yet)
proximity_thresh: 0.1
appearance_thresh: 0.25
with_reid: False

View File

@ -12,6 +12,8 @@ services:
runtime: nvidia
environment:
NVIDIA_VISIBLE_DEVICES: all
PYTHONUNBUFFERED: 1
# OPENCV_FFMPEG_READ_ATTEMPTS: 16384
logging:
driver: "json-file"
options:

40
ez.py 100644
View File

@ -0,0 +1,40 @@
import cv2
import time
# 获取 ezopen 协议的 URL
url = "rtmp://rtmp03open.ys7.com:1935/v3/openlive/L05874022_1_1?expire=1726487667&id=625419662355599360&t=228dca5d37b6bead201e80cca3fc5fe74140242278e4eb51a99bcce593cae027&ev=100"
# 创建 VideoCapture 对象
cap = cv2.VideoCapture(url)
cv2.namedWindow("Video", cv2.WINDOW_NORMAL) # Create a named window
cv2.resizeWindow("Video", 640, 384) # Resize this window
start_time = time.time()
count = 0
# 获取视频帧
while True:
ret, frame = cap.read()
if time.time() - start_time < 1: # 循环运行直到1秒过去
count += 1
else:
print(count)
start_time = time.time()
count = 0
# print(ret)
if not ret:
print("Error read video stream.")
break
# 显示视频帧
cv2.imshow("Video", frame)
# print("0000000000000",ret)
# 等待用户按下任意键退出
key = cv2.waitKey(1)
if key == 27:
break
# 释放资源
cap.release()
cv2.destroyAllWindows()

245
show.py 100644
View File

@ -0,0 +1,245 @@
import cv2
import json
import time
import logging
import threading
import requests
import supervision as sv
from datetime import datetime
from ultralytics import YOLO
from flask import Flask,request,Response
from multiprocessing import Process, Event
app = Flask(__name__)
@app.route('/show',methods=['POST'])
def show():
# print(request.json)
data = request.json["content"]
balls = data["balls"]
table = data["table"]
text = f"table:{table:>3} "
for i in range(16):
ball = "#" if "ball"+str(i) in balls else " "
text += f"| {i} : {ball} "
print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'),text)
return 'ok'
import re
@app.route('/mj',methods=['POST'])
def mj():
print(request.json)
if request.json["progress"] == "100%":
print(request.json["imageUrl"])
sendmsg(request.json["imageUrl"])
download_image(request.json["imageUrl"], "MJ", request.json["state"])
return 'ok'
@app.route('/cq',methods=['POST'])
def cq():
print(request.json)
if request.json["post_type"] != "message":
return 'ok'
if request.json["message_type"] != "group":
return 'ok'
if request.json["group_id"] != 116277572:
return 'ok'
# if request.json["user_id"] != 2132960:
# return 'ok'
thread = threading.Thread(target=handle, args=(request.json,))
thread.start()
return "ok"
def handle(data):
print(data['raw_message'])
# 正则表达式来匹配URL
url_pattern = re.compile(r'url=(.*?)\]')
# 使用findall来找到所有的URL
urls = re.findall(url_pattern, data['raw_message'])
result = re.sub(r'\[.*?\]', '', data['raw_message'])
result = result.replace('\r\n', '')
name = data["sender"]["card"] or data["sender"]["nickname"]
base64Array = []
# 输出找到的URL
for url in urls:
print(url)
download_image(url, "QQ", name)
# 从URL下载图片
response = requests.get(url)
response.raise_for_status() # 如果请求失败,此处将引发异常
# 将图片数据转换为Base64编码的字节数组
image_base64_bytes = base64.b64encode(response.content)
# 如果您需要将其转换为字符串,您可以使用.decode('utf-8')将字节数组转换为字符串
image_base64_str = image_base64_bytes.decode('utf-8')
# 打印Base64编码的字节数组
# print(image_base64_bytes)
base64Array.append('data:image/jpeg;base64,'+image_base64_str)
if len(base64Array) == 0:
return 'ok'
prompt = 'game assets,game ui,animal,flower,plant,forest,cute,baby,magical,spirit,fairy,elf,glowing light,anime style,seeming very happy,from above,ultra detailed,soft,on white background'
if result != '':
prompt = result
# 示例调用
params = {
'base64Array':base64Array,
'notifyHook': 'http://hk.luanhailiang.cn:5000/mj',
'prompt': prompt,
'state': name
}
response = imagine(params)
print(response.json())
time.sleep(3)
params['prompt'] = prompt + " --iw 2 --niji 5"
params['state'] = name+"_niji"
response = imagine(params)
print(response.json())
time.sleep(3)
params['prompt'] = prompt + " --iw 2 --style raw"
params['state'] = name+"_raw"
response = imagine(params)
print(response.json())
return 'ok'
def download_image(url, t, name):
"""
从指定URL下载图片并保存到本地文件
:param url: 图片的URL
:param local_filename: 要保存图片的本地文件名
"""
local_filename = f"y:\美术\参考收集\{t}\{datetime.now().strftime('%Y%m%d%H%M%S')}_{name}"
response = requests.get(url)
if response.status_code == 200: # HTTP状态码200表示请求成功
# 获取Content-Type响应头
content_type = response.headers['Content-Type']
# 判断图片格式
ext = ""
if 'jpeg' in content_type or 'jpg' in content_type:
ext = '.jpg'
print('The image is in JPEG format.')
elif 'png' in content_type:
ext = '.png'
print('The image is in PNG format.')
elif 'gif' in content_type:
ext = '.gif'
print('The image is in GIF format.')
elif 'webp' in content_type:
ext = '.webp'
print('The image is in WEBP format.')
else:
ext = '.png'
print(f'Unknown image format: {content_type}')
local_filename += ext
with open(local_filename, 'wb') as f:
f.write(response.content)
print(f"Image successfully downloaded to {local_filename}")
else:
print(f"Error downloading image, HTTP status code: {response.status_code}")
import base64
import requests
def imagine(params):
"""
提交Imagine任务
:param params: imagineDTO一个字典包含以下键:
- base64Array: 垫图base64数组
- notifyHook: 回调地址, 为空时使用全局notifyHook
- prompt: 提示词
- state: 自定义参数
:return: 返回服务器的响应
"""
# API端点
url = 'http://127.0.0.1:8080/mj/submit/imagine'
# 发送POST请求
response = requests.post(url, json=params)
# 如果需要,处理响应(例如,检查响应状态,解析响应主体等)
return response
def sendmsg(url):
# 设置 go-cqhttp 服务的 URL 和端口
api_url = 'http://localhost:5700/send_msg'
# 设置要发送的消息参数
data = {
'group_id': 5464741, # 接收消息的用户的 QQ 号
'message_type': 'group', # 消息类型
'message': f'[CQ:image,file={url}]' # 消息内容,使用 CQ码 格式
}
# 发送 POST 请求到 go-cqhttp 服务
response = requests.post(api_url, data=data)
# 输出响应
print(response.json())
if __name__ == '__main__':
# # 这是包含URL的示例文本
# text = '[CQ:image,file=42c93be3dbe10bfa79ad93ce1baed561.image,subType=1,url=https://gchat.qpic.cn/gchatpic_new/1183464602/691534145-2408237736-42C93BE3DBE10BFA79AD93CE1BAED561/0?term=2&amp;is_origin=0][CQ:image,file=42c93be3dbe10bfa79ad93ce1baed561.image,subType=1,url=https://gchat.qpic.cn/gchatpic_new/1183464602/691534145-2408237736-42C93BE3DBE10BFA79AD93CE1BAED561/0?term=2&amp;is_origin=0]'
# # 正则表达式来匹配URL
# url_pattern = re.compile(r'url=(.*?)\]')
# # 使用findall来找到所有的URL
# urls = re.findall(url_pattern, text)
# # 输出找到的URL
# for url in urls:
# print(url)
# # 从URL下载图片
# response = requests.get(url)
# response.raise_for_status() # 如果请求失败,此处将引发异常
# # 将图片数据转换为Base64编码的字节数组
# image_base64_bytes = base64.b64encode(response.content)
# # 如果您需要将其转换为字符串,您可以使用.decode('utf-8')将字节数组转换为字符串
# image_base64_str = image_base64_bytes.decode('utf-8')
# # 打印Base64编码的字节数组
# # print(image_base64_bytes)
# # 示例调用
# params = {
# 'base64Array': ['data:image/jpeg;base64,'+image_base64_str],
# 'notifyHook': 'http://hk.luanhailiang.cn:5000/mj',
# 'prompt': 'character design, game assets, game ui, cute, soft',
# 'state': ''
# }
# response = imagine(params)
# print(response.json())
app.logger.setLevel(logging.ERROR)
app.run("0.0.0.0",port=8000,threaded=True)

View File

@ -3,9 +3,10 @@ from urllib import parse
from ultralytics import YOLO
# Configure the tracking parameters and run the tracker
model = YOLO('best.pt')
source2 = "rtmp://rtmp03open.ys7.com:1935/v3/openlive/L05874022_1_1?expire=1726487667&id=625419662355599360&t=228dca5d37b6bead201e80cca3fc5fe74140242278e4eb51a99bcce593cae027&ev=100"
# model = YOLO('best.pt')
# source2 = "rtmp://rtmp03open.ys7.com:1935/v3/openlive/L05874022_1_1?expire=1726487667&id=625419662355599360&t=228dca5d37b6bead201e80cca3fc5fe74140242278e4eb51a99bcce593cae027&ev=100"
# source = parse.urlencode({"source": source2})
# source = "./videos/123.mp4"
results = model.track(source=source2, conf=0.3, iou=0.5, show=True)
# results = model.track(source=source2, conf=0.3, iou=0.5, show=True)
model = YOLO('best.pt')
results = model.track(source="./videos/123.mp4", tracker='botsort.yaml', show=True)

BIN
videos/123123.mp4 (Stored with Git LFS) 100644

Binary file not shown.