已解决
05、Python -- 爬取ts文件格式视频思路
来自网友在路上 162862提问 提问时间:2023-10-26 05:16:27阅读次数: 62
最佳答案 问答题库628位专家为你答疑解惑
目录
- 第一步:爬取一段5秒视频
- 找url
- 代码
- 结果
- 第二步:下载整个视频的所有片段
- 代码:
- 结果:
- 第三步:合成视频
- 安装模块
- 代码:
- 结果
- 简洁代码
- 代码:
- 结果:
- 最终代码
- 简洁前代码
- 简洁后代码
思路:
1、爬取视频,但是每次只能爬取一段5秒的视频。
2、一个视频有很多秒,所以需要爬取很多片段的视频
3、把所有爬取下来的片段视频合成导出。
4、最后再简洁代码
第一步:爬取一段5秒视频
找url
首先,找到需要爬取的视频,选择如图,找到对应的URL。
代码
然后最简单的四行爬取代码
结果
爬取的结果如图,里面视频只有5秒
第二步:下载整个视频的所有片段
代码:
结果:
把该视频所有片段都下载下来了
第三步:合成视频
安装模块
命令:pip install moviepy -i https://mirrors.aliyun.com/pypi/simple/
代码:
结果
完整合成视频并下载下来
简洁代码
代码:
结果:
如图:每个视频只由4秒
最终代码
简洁前代码
这里我把原本存放视频的文件夹名由《视频》改成《视频片段》
所以这里的【视频】,后面写代码的时候也应该改成【视频片段】
# 导入模块
import requestsnumber = 0
# 循环下载视频片段
while True:format_num = '{:05d}'.format(number)# f'' --> 用于在字符串中添加执行表达式url = f'https://xxxxxxxxxx.{format_num}.ts?pkexxxxxxxxxxxxx'res = requests.get(url)# 遇到404,就跳出循环if res.status_code == 404:breakopen(f'视频片段/{format_num}.ts', 'wb').write(res.content)print(f'已经下载了 {format_num} 个.ts文件')number += 1print(f'一共下载了 {number} 个视频 , 准备合成,请稍等几分钟')# 合成
#从moviepy这个模块的子模块editor里面导入所有的功能
from moviepy.editor import *# 列表 把这些视频加载到程序中来,保存在一个列表中
clip_list = []
for i in range(number):format_num = '{:05d}'.format(i)clip = VideoFileClip(f'视频片段/{format_num}.ts')clip_list.append(clip)# 最终视频合成
lastVideo = concatenate_videoclips(clip_list)
# 视频下载写出地址
lastVideo.write_videofile('完整视频/最终视频.mp4')
简洁后代码
# 导入模块
import requests
#从moviepy这个模块的子模块editor里面导入所有的功能
from moviepy.editor import *
number = 0
# 列表, 用于把所有片段视频加载到程序中来,保存在一个列表中
clip_list = []
# 循环下载视频片段
while True:format_num = '{:05d}'.format(number)# f'' --> 用于在字符串中添加执行表达式url = f'https://xxxxxxxhevc_1.{format_num}.ts?pkexxxxxxxxxxxxxxxxxxxxxx'res = requests.get(url)# 遇到404,就跳出循环if res.status_code == 404:break# 视频片段 就是存放一段段视频的文件夹名open(f'视频片段/{format_num}.ts', 'wb').write(res.content)clip = VideoFileClip(f'视频片段/{format_num}.ts')clip_list.append(clip)print(f'已经下载了并且加载了 {format_num} 个.ts文件')number += 1
print(f'一共下载了 {number} 个视频 , 准备加载,请稍等几分钟')
# 最终视频合成
lastVideo = concatenate_videoclips(clip_list)
# 视频下载写出地址
lastVideo.write_videofile('完整视频/最终视频.mp4')
查看全文
99%的人还看了
相似问题
- 视频云存储EasyCVR平台国标接入获取通道设备未回复是什么原因?该如何解决?
- 短视频账号矩阵系统saas管理私信回复管理系统
- 剪辑视频怎么把说话声音转成文字?
- 互动直播 之 视频帧原始数据管理
- 音视频项目—基于FFmpeg和SDL的音视频播放器解析(十六)
- 【腾讯云 HAI域探秘】高性能服务器引领AI革新浪潮:从AI绘画、知识问答到PyTorch图像分类、视频检测的全方位探索
- 计算机毕业设计 基于SpringBoot的企业内部网络管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
- 智能驾驶汽车虚拟仿真视频数据理解(一)
- HandBrake :MacOS专业视频转码工具
- opencv将32位深图片合成视频跳帧解决办法
猜你感兴趣
版权申明
本文"05、Python -- 爬取ts文件格式视频思路":http://eshow365.cn/6-24811-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 15、Python -- 阶段总结:变量与流程控制
- 下一篇: 力扣每日一题70:爬楼梯