如何将b站视频从手机传输到电脑上

news/2025/2/19 17:06:35/

一、前言

有时候,我们想缓存下来b站上的一些视频,做一些剪辑什么的。

但是在电脑端,bilibili的网站没有提供视频缓存功能。而手机端的bilibili客户端可以缓存视频,但格式为m4s。

这就给我们提供一个思路:先在手机上哔哩哔哩客户端缓存好视频,再通过ES文件浏览器的ftp传输功能,将m4s文件传输给电脑,再将m4s转化为mp4格式。

二、实际操作

手机端利用现成的软件进行操作就行,电脑端使用我自己写的程序进行操作。

手机端需要的软件:哔哩哔哩客户端 , ES文件浏览器 

电脑端需要的软件:自写的传输工具

操作流程图:

详细操作流程:

1.打开哔哩哔哩客户端,缓存好视频

2.打开ES文件浏览器,打开“从PC访问”功能,记下这个ftp地址

       

3.手机打开WiFi热点,电脑连接上WiFi热点,以保证处于同一个局域网内

4.从百度云盘下载我写的软件(提取码:y1sv),解压后,打开auto/文件夹,打开ftp_address.txt,输入ftp的地址,保存。

5.双击auto/下的auto.exe,程序会自动传输手机哔哩哔哩客户端的缓存视频,等待传输完成即可。

如果当中程序不动,可以在程序运行界面中按下回车键进行刷新。

6.传输好的视频,会自动保存到auto/video目录下

三、电脑端程序源码

电脑端程序通过python编写,文件传输用ftp,m4s转mp4用ffmpeg.exe(可在我分享的网盘中下载)。

在下载好ffmpeg.exe到这个脚本的同一目录下,然后电脑与手机热点wifi连接后,手机端开启ES文件浏览器的“从PC访问”功能,再运行该python脚本就能进行视频传输了。

不过考虑到有些电脑不一定安装有python环境,我使用pyinstaller将python脚本转化为exe执行文件,使得程序在没有python环境上的windows下也能运行。

import os
import sys
import time
import json 
from ftplib import FTPvideo_save_path = './video/' # 视频目录不能是中文
danmu_save_path = './弹幕/'if not os.path.exists(danmu_save_path):os.makedirs(danmu_save_path)
if not os.path.exists(video_save_path):os.makedirs(video_save_path)def FTP_Transport_Video(ftp_address):# 登录FTP    address = ftp_address.split(':')[1][2:]port = int(ftp_address.split(':')[-1][:4])ftp = FTP()ftp.connect(address, port)ftp.login(user='', passwd='')print(ftp.getwelcome())data = []ftp.cwd('Android/data/tv.danmaku.bili/download/')ftp.dir(data.append)print('检测到%d个缓存视频' % (len(data)))for idx, line in enumerate(data):second_dir = line.split(' ')[-1]second_dir = './' + second_dir + '/1'ftp.cwd(second_dir)# 读取视频名称file_handle = open('./entry.json', "wb")ftp.retrbinary("RETR entry.json", file_handle.write, 1024)file_handle.close()entry_json = open('entry.json', encoding='utf-8')data1 = json.load(entry_json)title = data1['title']print('正在传输第'+str(idx+1)+'个视频...')print('\t视频名称:'+title)# 保存弹幕file_handle = open(danmu_save_path+title+'.xml', "wb")ftp.retrbinary("RETR danmaku.xml", file_handle.write, 1024)file_handle.close()# 保存视频video_path = video_save_path + title + '.mp4'if os.path.exists('./video/temp.mp4'):os.remove('./video/temp.mp4')if os.path.exists(video_path):print('\t视频已存在')ftp.cwd('../../')continuefile_handle = open('audio.m4s', "wb")ftp.retrbinary("RETR 80/audio.m4s", file_handle.write, 2048)file_handle.close()file_handle = open('video.m4s', "wb")ftp.retrbinary("RETR 80/video.m4s", file_handle.write, 2048)file_handle.close()command = 'ffmpeg.exe -i video.m4s -i audio.m4s -codec copy ./video/temp.mp4'os.system('\t'+command)os.rename('./video/temp.mp4', video_path)print('第'+str(idx+1)+'个视频传输完成!')ftp.cwd('../../')print('所有视频传输完成')ftp.quit()if os.path.exists('./audio.m4s'):os.remove('./audio.m4s')if os.path.exists('./video.m4s'):os.remove('./video.m4s')#if os.path.exists('./entry.json'):#    os.remove('./entry.json')if __name__ == '__main__':if os.path.exists('./ftp_address.txt'):with open('ftp_address.txt', 'r') as f:ftp_address = f.readline()print('正在连接:', ftp_address)FTP_Transport_Video(ftp_address)else:print('未检测到ftp_address.txt')

 


http://www.ppmy.cn/news/411641.html

相关文章

线程的创建和使用(一)

1、线程 1.1、线程的概念 一个线程就是一个 "执行流". 每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 "同时" 执行着多份代码. 1.2、创建线程 方法一:继承Thread类 public class Exe_01 {public static void main(String[] args…

鼎捷易飞ERP视频教程-金速鹏-专题视频课程

鼎捷易飞ERP视频教程—539人已学习 课程介绍 鼎捷易飞ERP,源自台湾制造业,集成供应链、生产制造、财务管理。沿海企业广泛应用。制造业ERP首选。 课程收益 全面掌握易飞ERP各模块功能及操作、业务案例实现。 讲师介绍 金速鹏 更多讲师课程 20年IT从…

视频教程-用友U8视频教程全集(全模块)-ERP

用友U8视频教程全集(全模块) 20年IT从业经历,精通C#.NET编程,C/C编程,数据库SQL,嵌入式开发,企业信息化,ERP,OA,企业网络技术。 一直在企业IT领域工作,所谓的人才就是要有…

高手博客地址

http://mindhacks.cn http://blog.csdn.net/pongba

100个IT人成为大牛必备的学习经验分享

作为一名合格的IT人,这些课程你肯定不会错过,今天给大家来一个终极揭秘版100个精品教程,希望对大家有帮助~ 4.20 IT充电节 活动日期:2017.4.19-2017.4.20 活动地址:http://edu.51cto.com/activity/lists/id-47.html?w…

视频教程-金蝶K3 WISE 视频教程-ERP

金蝶K3 WISE 视频教程 20年IT从业经历,精通C#.NET编程,C/C编程,数据库SQL,嵌入式开发,企业信息化,ERP,OA,企业网络技术。 一直在企业IT领域工作,所谓的人才就是要有动手解…

数学加法速算法

数学速算法的分类 金华全脑速算的运算原理是通过双手的活动来刺激大脑,让大脑对数字直接产生敏感的条件反射作用,所以能达到快速计算的目的。 (1)以手作为运算器并产生直观的运算过程。 (2)以大脑作为存储器将运算的过程快速产生反应并表示出。 例如&…

计算机硬盘ssd,让您的电脑飞起来 教你如何正确使用SSD

1正确安装SSD后方可性能最大化 众所周知电脑升级SSD后,速度和性能都有大幅度提升。可是,有的用户升级SSD后,速度和性能提升却不明显。原因在于没有正确使用SSD,安装好操作系统。常见的问题是4K不对齐,没有开启Trim&…