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脚本录制在线直播视频 的相关文章

随机推荐

  • “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