如何使用python下载B站视频并使用ffmpeg进行合流操作

需要了解的工具:

先看看我发的第一期专栏,里面有关开发者模式的介绍,一些相关的请求库与解析库。本期专栏将不再赘诉。

下载ffmpeg。下载官网链接:https://ffmpeg.org/download.html。

注意:如果想要在cmd中使用,需要先配置环境变量

有关于此的介绍与使用详细可以看此链接:https://zhuanlan.zhihu.com/p/356411237

本期将导入 subprocess 来用python执行ffmpeg的有关命令。

对于m4s的处理及相关源码(能直接运行):

本期处理依据来源于此:https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/video/videostream_url.md

m4s文件是单独的音频或者视频文本文件。

可以了解先以下b站的api设置。具体可以看此链接:

https://zhuanlan.zhihu.com/p/556023455。

通过请求b站的api能够返回含有url与backup_url的 json 文本

我们的目的就是请求以上的url。打开开发者模式:依次点击下图的五个位置:

如何使用python下载B站视频并使用ffmpeg进行合流操作_第1张图片

五处的url即是我们需要的m4s路由文件。(由于是音视频文件分开,需要再找一个音频或视频文件)

源代码的简单实现:

import subprocess
import requests
import os
from pyquery import PyQuery as pq

# 以下url为视频的链接
url = 'https://www.bilibili.com/bangumi/play/ss41411?spm_id_from=333.337.0.0'
video_url = "https://upos-sz-mirror08c.bilivideo.com/upgcxcode/" \
            "97/11/712561197/712561197-1-100023.m4s?e=ig8euxZM2rNcNbdlhoNv" \
            "NC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5t" \
            "ZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0e" \
            "N0B599M=&uipk=5&nbs=1&deadline&

你可能感兴趣的:(python,音视频,开发语言,ffmpeg)