Python使用ffmpeg下载m3u8高清视频

14 篇文章 6 订阅
2 篇文章 0 订阅

一、安装ffmpeg环境

1、下载ffmpeg
ffmpeg下载链接
在这里插入图片描述
2、解压加入环境变量
选择你电脑的版本下载解压把bin目录加入环境变量中
在这里插入图片描述
在这里插入图片描述
3、Python安装ffmpeg

pip install ffmpy3 -i https://mirrors.aliyun.com/pypi/simple/ 

二、使用Python加ffmpeg下载视频

from ffmpy3 import FFmpeg


def ffmpeg_path(inputs_path, outputs_path):
    '''
    :param inputs_path: 输入的文件传入字典格式{文件:操作}
    :param outputs_path: 输出的文件传入字典格式{文件:操作}
    :return:
    '''
    a = FFmpeg(
                inputs={inputs_path: None},
                outputs={outputs_path: '-c copy',
                         }
    )
    print(a.cmd)
    a.run()


if __name__ == '__main__':
    ffmpeg_path('https://meng.wuyou-zuida.com/20200406/28920_d7b510c3/index.m3u8', 'demo.mp4')

开始下载:
在这里插入图片描述
视频输入在项目目录下

使用 Python 下载 M3U8 视频需要通过以下几个步骤: 1. 解析 M3U8 文件获取视频分片地址列表:M3U8 文件是一种包含视频分片地址的文本文件,我们需要通过解析 M3U8 文件获取视频分片地址列表。可以使用第三方库如 `m3u8` 进行解析,如下所示: ```python import m3u8 # 加载 M3U8 文件 m3u8_obj = m3u8.load('http://example.com/video.m3u8') # 获取分片地址列表 segments = m3u8_obj.segments ``` 2. 下载视频分片并保存到本地:遍历视频分片地址列表,使用 `requests` 库进行下载,并保存到本地文件中,如下所示: ```python import requests # 遍历分片地址列表,下载并保存到本地 for i, segment in enumerate(segments): url = segment.absolute_uri response = requests.get(url) with open(f'segment{i}.ts', 'wb') as f: f.write(response.content) ``` 其中,`segment{i}.ts` 是保存到本地的文件名,可以根据实际情况进行修改。 3. 合并视频分片成完整视频:将下载视频分片使用 `ffmpeg` 工具进行合并,可以使用 `subprocess` 模块调用系统命令实现,如下所示: ```python import subprocess # 合并视频分片 subprocess.call('ffmpeg -i "concat:segment0.ts|segment1.ts|segment2.ts" -c copy output.mp4', shell=True) ``` 其中,`concat:segment0.ts|segment1.ts|segment2.ts` 是视频分片文件名列表,多个文件用 `|` 分隔,`output.mp4` 是合并后的视频文件名,可以根据实际情况进行修改。 需要注意的是,下载和合并视频分片的过程可能比较耗时,需要根据分片数量和网络情况进行调整,以免出现网络超时等问题。同时,下载使用视频可能涉及到版权等法律问题,请遵守相关法律法规。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值