使用python下载流媒体
发表于:2022-08-17 | 分类: Python Web

使用python下载m3u8格式文件

M3U8文件是什么

  • m3u8文件是网页视频ts格式文件的索引
  • ts是一段视频的切片文件
  • 通过按顺序加载切片文件,可以完整播放整个视频,并且便于切换清晰度

python的wget库和time库

  • 需要下载m3u8视频,我们需要安装对应的软件库
  • wget库用来下载文件,time库防止下载过快,导致触发服务器警报
  • 在终端或者cmd输入如下命令进行安装:
    pip install wget
    pip install time

安装python以及对应的模块

  • Windows

    进入python官网
    点击Download,选择python 3.x.x版本
    运行,一直下一步


  • Linux

    如果是debian衍生系统:
    apt update && apt upgrade
    apt -y install python
    如果是redhat衍生系统:
    yum update && yum upgrade
    yum -y install python


  • 验证安装
    – Windows系统
    • 使用win+R,输入CMD,在弹出的命令提示符输入python
      – Linux系统
    • 按下Ctrl+Alt+T,开启终端,输入python

当出现python 3.x.x的字样,即表示安装完成

网页寻找ts文件列表

  • 我们以某媒体网站为例,打开加载的视频之后,使用F12打开开发者选项
  • 我们点击”网络”标签,并且在筛选器中输入”ts”
  • 我们此时可以看到我们得到了一个列表,这些ts文件即为完整视频的ts片段
  • 我们将视频拖拽到末尾,并注意观察,此时我们就能得到最后一个文件
  • 通过观察我们可以发现,文件名是从media_001.ts到media_648.ts
  • 我们便成功获取了文件列表

编写python程序

完整的python代码如下:

import time
import wget
# /usr/bin/003.py
# -*- coding=utf-8 -*-
def main():
    perfix = "https://cdn.kaooooo.com/xvod/743bd8b89779a7264b64" \
             "9623141df78eac27b423258ac81dc2e1da105b5de4a09921f11e97d0da21/media_{}.ts"
    for i in range(1,691):
        wget.download(url=perfix.format(i),out="F:/download/")
        time.sleep(1)
    pass

if __name__=="__main__":
    main()

使用格式工厂合并视频

  • 打开格式工厂,拖入所有的视频,点击视频合并,选中所有即可合并视频
上一篇:
使用python实现校园网的自动登录
下一篇:
2022-08-10--今日分享