Python上传文件到百度网盘(三)之m3u8下载

本文介绍了如何使用Python的m3u8Downloader库和ffmpeg工具下载M3U8格式的视频文件。首先简述了M3U8文件在苹果设备上的应用,然后提供了m3u8Downloader的安装方法和代码示例。此外,还分享了一个简化版的下载脚本,通过调用ffmpeg命令行工具直接下载。最后,提到了未来将讨论文件压缩的话题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

大家好,继续咱们的python上传文件到百度网盘系列,今天给大家带来的是如果下载一个m3u8

格式的文件。

M3u8简介

M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码。"M3U" 和 "M3U8" 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。

当然我们要的,肯定不是单纯的能看,毕竟资源是会失效的,对吧,下载下来才最靠谱。

M3u8Downloader

作为一个懒人,能用的三分工具肯定是要用的呀,这里给大家介绍一款m3u8下载工具:m3u8Downloader.

安装方式:

第一种:

 第二种:

pip3 install m3u8Downloader 或者pip install m3u8Downloader ,看自己的python版本

撸代码

使用m3u8:

# -*- coding: utf-8 -*-
import os.path
import subprocess
import sys
import time

from m3u8downloader.main import M3u8Downloader, logger, filesizeMiB

from db.mysql import query
from util.file_util import get_str_md5

if __name__ == '__main__':
    data = query()
    path = '/Users/admin/Downloads/'
    for el in data:
        print(el)
        file_name = get_str_md5(str(el[1]).encode())
        downloader = M3u8Downloader(el[0], os.path.join(path, file_name + '.bk'))
        downloader.start()
        time.sleep(6)

 当然看了下人家的源码发现,嘿,我自己也可以写,我写的精简版:

def ffmpeg_download(url_path, target_local_path):
    cmd = ["ffmpeg",
           "-i", url_path,
           target_local_path]
    logger.info("Running: %s", cmd)
    proc = subprocess.run(cmd)
    if proc.returncode != 0:
        logger.error("run ffmpeg command failed: exitcode=%s",
                     proc.returncode)
        sys.exit(proc.returncode)
    logger.info("mp4 file created, size=%.1fMiB, filename=%s",
                filesizeMiB(target_local_path), target_local_path)

大家按需取用哈,当然两个方式都需要下载一个工具 ffmpeg

mac用户直接brew install ffmpeg即可。

总结

好啦,今天的内容比较简单,就是一个下载器,用命令调用一下,预告一下,下次咱们来聊一聊怎么实现文件压缩~。~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轩渃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值