项目需求网址视频下载转换为mp4:从分析ts文件到合并整合
项目需求

URL链接:
您需要下载此视频并将其转换为MP4格式
解决方案
实际上,它看起来很简单。我们只是进去找到他的视频界面,然后下载它。结果,F12发现他进入控制台后没有视频连接,有些则返回了一些TS文件[问题]
因此,我将其拉到视频中,最后发现他由228个TS文件组成。经过研究后,他发现根据视频持续时间(每11秒],他被视频流切割。为了实现视频的平稳性!
知道了这一点之后,我们很简单地爬老人。使用请求直接访问它。
import requests
for i in range(1,229):
url = 'https://livecbing.alicdn.com/mediaplatform/654b215c-7f98-4642-a16a-24d8ef23894b/'+str(i)+'.ts'
res = requests.get(url)
with open('./'+t+'.ts', 'wb') as f:
f.write(res.content)
正是以上直接写入TS文件,第一步是完成它。然后,我们需要集成视频。实际上很简单,只有一个命令
copy /b *.ts video.ts
[敲黑板]这会犯一个错误。发现合并视频只有十分钟,而且还没有图片。这是怎么回事?
仔细研究执行过程,找出答案!呢呢[原谅我,没有屏幕截图]
我们需要对生成的TS文件进行排序。有人说1-288没有分类?但是我告诉你,他首先按顺序进行比较,例如1,11,111,2,21,22 ...而不是1,2,3 ...如果不按照它实施该怎么办我们想象力的法规?
实际上,这很简单,只需自己规定订单,就来了!
import requests
for i in range(1,229):
url = 'https://livecbing.alicdn.com/mediaplatform/654b215c-7f98-4642-a16a-24d8ef23894b/'+str(i)+'.ts'
res = requests.get(url)
# print(res.content)
if len(str(i))==1:
t='00'+str(i)
if len(str(i))==2:
t='0'+str(i)
if len(str(i)) == 3:
t = str(i)
with open('./'+t+'.ts', 'wb') as f:
f.write(res.content)
只需添加几个单词即可查看,这意味着将其打印出来非常简单!
因此,现在我们有228个TS视频流,并在执行副本 /b *.sts video.ts之后,成功地将他整合到了视频中。然后,下一步是将他转换为MP4格式。
import os
ffmpeg = r'D:\ffmpeg-N-99631-g9018257751-win64-gpl-shared\bin\ffmpeg.exe' # 写自己的安装路径
#由于路径中有空格,所以路径需要用上双引号,否则会找不到该文件
fn = r'C:\Users\admin\Desktop\自动化\视频\视频\video.ts'
output = r'C:\Users\admin\Desktop\自动化\视频\视频'+"td.mp4"
cmd = ffmpeg + " -i " + fn + " -c copy " + output
os.system(cmd)
print("done")
然后是上述FFMPEG的安装,这里的博客可以直接下载安装。
FFMPEG URL:
我是我下载的红色边界上的一个,最终结果是找到这条路:
好的,写这篇文章后基本上已经结束了。当然,如果存在不匹配音频和视频的问题,则可以参考博客作者的帖子。如果它可以帮助所有人,请单击歌曲并关注它!呢哈哈
« 上一篇
企业级规范:代码风格与架构设计原则