python脚本录制在线直播视频

2024-01-19

我正在开发一个脚本来下载在线直播视频。

我的脚本:

print "Recording video..."
response = urllib2.urlopen("streaming online video url")
filename = time.strftime("%Y%m%d%H%M%S",time.localtime())+".avi"
f = open(filename, 'wb')

video_file_size_start = 0  
video_file_size_end = 1048576 * 7  # end in 7 mb 
block_size = 1024

while True:
    try:
        buffer = response.read(block_size)
        if not buffer:
            break
        video_file_size_start += len(buffer)
        if video_file_size_start > video_file_size_end:
            break
        f.write(buffer)

    except Exception, e:
        logger.exception(e)
f.close()

上面的脚本可以很好地从实时流媒体内容下载 7Mb 视频并将其存储到 *.avi 文件中。

但是,我想下载 10 秒的视频,无论文件大小如何,并将其存储在 avi 文件中。

我尝试了不同的可能性,但没有成功。

任何人都可以在这里分享您的知识来解决我的问题。

提前致谢。


响应.read()不起作用。响应.iter_content()似乎能成功。

import time
import requests


print("Recording video...")
filename = time.strftime("/tmp/" + "%Y%m%d%H%M%S",time.localtime())+".avi"
file_handle = open(filename, 'wb')
chunk_size = 1024

start_time_in_seconds = time.time()

time_limit = 10 # time in seconds, for recording
time_elapsed = 0
url = "http://demo.codesamplez.com/html5/video/sample"
with requests.Session() as session:
    response = session.get(url, stream=True)
    for chunk in response.iter_content(chunk_size=chunk_size):
        if time_elapsed > time_limit:
            break
        # to print time elapsed   
        if int(time.time() - start_time_in_seconds)- time_elapsed > 0 :
            time_elapsed = int(time.time() - start_time_in_seconds)
            print(time_elapsed, end='\r', flush=True)
        if chunk:
            file_handle.write(chunk)

    file_handle.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python脚本录制在线直播视频 的相关文章

  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • python multiprocessing 设置生成进程等待

    是否可以生成一些进程并将生成进程设置为等待生成的进程完成 下面是我用过的一个例子 import multiprocessing import time import sys def daemon p multiprocessing curr
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • 如何使用 Selenium 和 ChromeDriver 解决 TypeError: 'module' object is not callable 错误 [重复]

    这个问题在这里已经有答案了 代码试验 from selenium import webdriver from selenium webdriver chrome options import Options as Chromeoptions
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • 通过Python连接到Bigquery:ProjectId和DatasetId必须非空

    我编写了以下脚本来通过 SDK 将 Big Query 连接到 Python 如下所示 from google cloud import bigquery client bigquery Client project My First Pr
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • Protobuf 如何编码 oneof 消息结构

    对于这个 python 程序 在编码时运行 protobuf 编码会给出以下输出 0a 10 08 7f8a 0104 08 02 10 0392 0104 08 02 10 03 18 01 我不明白的是为什么8a后面有一个01 为什么9
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • pandas.read_csv 将列名移动一倍

    我正在使用位于的 ALL zip 文件here http www fec gov disclosurep PDownload do 我的目标是用它创建一个 pandas DataFrame 但是 如果我跑 data pd read csv

随机推荐

  • “char”关键字的用途是什么?

    是什么charJavaScript 中使用的保留关键字 因为不需要类型声明 特别是使用它的正确语法是什么 有人能给我一个正确的完整示例 吗 因为写char c 抛出一个解释错误说missing before statement 就在之前c
  • 在 C++ 进程之间共享 CGAL 的几何图形

    我正在寻找在进程之间发送 CGAL 几何图形的最快方法 C 假设我们有 2 个进程 A 和 B 进程 A 正在生成几何图形 进程 B 正在显示它 我想以最快的方式连接它们 几何形状为 CGAL 多面体类型 我知道我可以使用共享内存 但是我遇
  • 如何使用ggpmisc的stat_poly_eq在方程中显示不同的y标签

    我正在尝试使用以下命令在绘图上显示方程stat poly eq的函数ggpmisc 我的问题是如何改变y 在等式中 由y1 and y2 通过参考key争论 我尝试添加eq with lhs映射中的参数 但它无法识别该参数 我试图将向量传递
  • WPF 学习曲线有多糟糕? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 轨道形式的单选按钮标签

    我的问题类似于this one https stackoverflow com questions 658689 how to associate labels with radio buttons但对于 Rails 应用程序 我有一个带有
  • 是否可以运行异步调用来在 ASP.NET 中设置会话?

    我有一个页面访问数据库 运行一个繁重的存储过程并返回结果 结果将根据会话变量 Session isShown 显示 我想使用Ajax调用另一个页面来设置 xmlhttp open POST frmCancelWfSearch aspx tr
  • 如何优化SIMD转置函数(8x4 => 4x8)?

    我需要使用 AVX 优化 8x4 和 4x8 浮点矩阵的转置 我用阿格纳 福格的矢量类库 http www agner org optimize vectorclass 青色任务 构建 BVH 并求和最小 最大 每个循环的最后阶段都会使用转
  • 如何在ListActivity中引用OnListItemClick

    我正在开发一个 Android 应用程序 但我遇到了困难ListActivity 我想要有一个不一样的Activity根据单击列表中的哪个项目开始 我列了一个清单并引用它setListAdapter在java中 但我不知道如何在OnList
  • oracle pl/sql DBMS_LOCK 错误

    在Oracle PL SQL中 我想测试睡眠功能 我正在使用 hr 模式 但它给了我错误 PLS 00201 identifier DBMS LOCK must be declared code begin DBMS LOCK Sleep
  • 如何使用 CherryPy 捕获所有异常?

    I use CherryPy http www cherrypy org 运行一个非常简单的网络服务器 它的目的是处理GET参数 如果它们正确 则用它们做一些事情 import cherrypy class MainServer objec
  • Facebook unity SDK,“FB.Init() 已被调用”

    我正在使用 FB Unity SDK 我面临的一个持续问题是检查 FB Init 是否已被调用 设想 有一个 fb 连接按钮 用户单击它 如果用户决定取消对话框并单击 Fb 再次连接 FB sdk 抛出一条通知 指出 FB Init 已被调
  • 如何在一个页面上使用多个 AdSense 单元?

    如何在一个网站上拥有多个 AdSense 单元 Google 提供的唯一代码是按单位计算的
  • 在 CentOS 64 位上安装 ffmpeg “使用 -fPIC 安装”错误

    尝试在 64 位 CentOS 计算机上编译 ffmpeg 时出现此错误 这是我的 configure 选项 configure enable shared enable gpl enable nonfree enable postproc
  • 在C++中读取和写入int到二进制文件

    我不清楚读取长整数是如何工作的 如果我说 long int a 1 666666 ofstream o ex ios binary o write char a sizeof a 将值存储到文件中并希望按原样读回它们 long int st
  • 如何比较 Objective C 中的两个 NSDate 对象

    我有日期类型的对象 我想比较一下 我写了一个if条件 如下所示 if startDate1 isEqualToDate self getDefaultDate startDate1 self getDefaultDate m selecte
  • 面向现有 .NET 开发人员的 Delphi 资源

    任何人都可以为希望获得 Delphi 语言高级概述的 NET 开发人员推荐一些不错的资源吗 我们即将收购一家小型企业 其主要产品是在德尔福开发的 我希望积累足够的知识以便能够与他们交谈 书籍 网站等都很受欢迎 Thanks Delphi基础
  • AngularJS 中使用 Promise 和 Defer 进行同步和异步调用

    我创建了以下控制器 其中有 2 个服务调用服务 第二个响应先于第一个响应 我想做的就像我需要第一个响应 然后第二个响应 但我只是坚持异步和同步请帮我解决 第二次调用取决于第一次调用 例如 如果第一个调用返回 10 条记录 那么我必须调用第二
  • 为什么我会收到一个 TypeError 提示“不带任何参数(给定 1 个)”? [复制]

    这个问题在这里已经有答案了 我有这段代码来实现粒子群优化算法 class Particle def init self domain ID self ID ID self gbest None self velocity self curr
  • 为 Qt 项目的多个架构生成 APK

    在 3d party APK 文件中 我注意到有不同架构的文件夹 armv7 arm64 x86 mips 因此单个 APK 适用于 Android 支持的多种架构 但是 我似乎没有找到一种方法来使用 Qt 项目来做到这一点 我有一个针对多
  • python脚本录制在线直播视频

    我正在开发一个脚本来下载在线直播视频 我的脚本 print Recording video response urllib2 urlopen streaming online video url filename time strftime