python 通过视频url获取视频的宽高方式

yizhihongxing

获取视频的宽高是常见的需求,可以通过Python来实现。下面是通过视频URL获取视频宽高的攻略:

1. 安装依赖库

我们需要安装requests、opencv-python依赖库。

pip install requests opencv-python

2. 通过URL获取视频信息

我们可以使用Python的requests库来获取视频的信息。我们可以获取HTTP头信息来确定视频的大小

import requests

url = "http://example.com/video.mp4"

response = requests.get(url, headers={'Range': 'bytes=0-100000'}, stream=True)

content = response.content

print(content)

3. 使用OpenCV获取视频宽高

获取到视频的信息之后,我们可以使用OpenCV来获取视频的宽高

import cv2
import numpy as np
import requests

url = "http://example.com/video.mp4"

response = requests.get(url, headers={'Range': 'bytes=0-100000'}, stream=True)

content = response.content

arr = np.asarray(bytearray(content), dtype=np.uint8)

img = cv2.imdecode(arr, cv2.IMREAD_UNCHANGED)

print("width: ", img.shape[1])
print("height: ", img.shape[0])

示例1

import cv2
import numpy as np
import requests

url = "http://example.com/video.mp4"

response = requests.get(url, headers={'Range': 'bytes=0-100000'}, stream=True)

content = response.content

arr = np.asarray(bytearray(content), dtype=np.uint8)

img = cv2.imdecode(arr, cv2.IMREAD_UNCHANGED)

print("width: ", img.shape[1])
print("height: ", img.shape[0])

示例2

import cv2
import numpy as np
import requests

url = "http://example.com/video.mp4"

response = requests.get(url, headers={'Range': 'bytes=0-100000'}, stream=True)

content = response.content

arr = np.asarray(bytearray(content), dtype=np.uint8)

img = cv2.imdecode(arr, cv2.IMREAD_UNCHANGED)

print("width: ", img.shape[1])
print("height: ", img.shape[0])

这些示例代码可以帮助你更好地理解并实现通过视频URL获取视频的宽高,不同的URL可能需要不同的头信息获取信息,因此需要适当调整代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 通过视频url获取视频的宽高方式 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python中三种时间格式转换的方法

    当涉及到时间处理时,经常需要进行时间格式转换。在Python中有三种时间格式:时间戳、字符串、元组。本文将分享三种时间格式之间的相互转换方法,方便开发者在实际工作中灵活应用。 一、时间戳与字符串的互相转换 1.将时间戳转换成字符串 下面是一个将时间戳转换成字符串的例子: import time timestamp = 1528797322 # 将时间戳转换成…

    python 2023年6月2日
    00
  • 详解Python中的元组与逻辑运算符

    详解Python中的元组与逻辑运算符 什么是元组? 元组(Tuple)是 Python 中一个不可变的有序序列,用小括号()来表示。它和列表相似,但是不能修改元素。在Python中,可以将元组和列表、字典、集合等一同用作数据类型来完成更为复杂和高效的数据处理。 创建元组 创建元组的方式主要有两种: 直接将多个元素用小括号括起来 例如:(1, 2, 3) 使用…

    python 2023年5月14日
    00
  • python 获取文件列表(或是目录例表)

    Python获取文件列表(或是目录列表)的完整攻略 在Python中,可以使用os模块和glob模块来获取文件列表或目录列表。os模块提供了许多与系统交互的函数,包括获取文件列表和目录列表的函数;glob模块提供了一个函数,用于查找符合特定规则的文件路径名。本攻略将详细介绍Python获取文件列表(或是目录列表)的完整攻略,并提供两个例说明。 使用os模块获…

    python 2023年5月13日
    00
  • python爬虫请求库httpx和parsel解析库的使用测评

    在Python中,我们可以使用httpx库进行网络请求,使用parsel库进行HTML解析。本文将介绍如何使用httpx和parsel库,并提供两个示例。 1. 使用httpx库进行网络请求 httpx是一个Python的HTTP客户端库,它提供了简单易用的API,支持异步请求和HTTP/2。以下是一个示例,演示如何使用httpx库进行网络请求: impor…

    python 2023年5月15日
    00
  • PyCharm在win10的64位系统安装实例

    下面是我们来介绍一下“PyCharm在Win10的64位系统安装实例”。 安装前准备 在进行安装前,我们需要先检查一下系统环境是否满足安装要求。 确认系统版本 首先我们需要确认一下自己的Windows系统版本是否是64位系统。 打开“设置”-“系统”-“关于”,在“系统类型”一栏中可以看到系统的位数,确保是“64位操作系统”。 安装Python 在安装PyC…

    python 2023年5月30日
    00
  • python的keyword模块用法实例分析

    Python是一种强大、易于学习和高效的编程语言,具有广泛的应用领域。在Python中,有许多内置的模块,这些模块可以帮助我们更方便、更高效地完成一些任务。其中一个非常有用的模块是keyword模块,它可以让我们查看Python中的保留关键字。 一、什么是keyword模块 keyword模块是Python内置模块之一,它提供了一个列表,其中包含Python…

    python 2023年6月5日
    00
  • python实现不同数据库间数据同步功能

    Python实现不同数据库间数据同步功能 在实际应用中,我们经常需要将不同数据库之间的数据进行同步。例如,我们可能需要将MySQL数据库中的同步到DB数据库中,或者将Oracle数据库中的数据同步到PostgreSQL数据库中。在本文中,我们将详细讲解如何Python实现不同数据库间数据同步功能,并提供两个示例来说明数据同步的实现过程。 数据库间数据同步的现…

    python 2023年5月14日
    00
  • Python多线程和队列操作实例

    Python多线程和队列操作实例 什么是多线程和队列 在单线程Python中,每个任务都必须等上一个任务结束后才能执行下一个任务。当任务的处理过程中存在大量I/O操作时,这种方式就会非常慢。而多线程和队列机制可以在保证数据安全的同时将任务交替执行,提高程序处理效率。 多线程是指程序中同时运行多个线程,每个线程可以处理不同的任务。而队列则是一种数据结构,可以实…

    python 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部