前言
大家好,继续咱们的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即可。
总结
好啦,今天的内容比较简单,就是一个下载器,用命令调用一下,预告一下,下次咱们来聊一聊怎么实现文件压缩~。~

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

被折叠的 条评论
为什么被折叠?



