无法找到CCTV直播MP4地址?七十行代码,简单使用FFplay直接观看还是下载CCTV栏目都轻松搞定(Python利用FLVCD硕鼠解析CCTV直播,FFplay播放并下载视频)

我们在每天使用新闻的时候大都会以CCTV发布的新闻为准,我们的每天新闻收视率最高的还是我们的总台,大家闲来无事可能也会看一下央视网提供视频直播吧,看看还可以,但是我们可以发现我们完全解析不了,大家看一看便知道了

错误演示

打开CCTV直播,我们会看到当前直播的栏目CCTV直播
我们可以通过抓包软件直接获取直播的地址
在这里插入图片描述
这不是特别容易吗?一下就可以获取到我们的真实地址了呀!
WAIT,我们先去解析一下我们的代码

在这里插入图片描述
可是,当我们在PotPlayer里面打开之后发现,我们预期出现的画面并没有出来。那么这种情况肯定就是CCTV进行播放加密了。那我们该如何处理这种问题呢?
在这里插入图片描述
我们先尝试着把这四个播放地址全部播放一遍,说不定可以呢?

名称 地址
index.m3u8 https://cctvcncw.v.wscdns.com/live/cctv1_1/index.m3u8?adapt=0&BR=pub
index.m3u8 https://cctvtxyh5c.liveplay.myqcloud.com/live/cdrmcctv1_1/index.m3u8
cdrmcctv1_1_md.m3u8 https://cctvtxyh5c.liveplay.myqcloud.com/live/cdrmcctv1_1_md.m3u8
cdrmcctv1_1_td.m3u8 https://cctvtxyh5c.liveplay.myqcloud.com/live/cdrmcctv1_1_td.m3u8

我们一个一个尝试一下,尝试如下表所示

名称 地址 是否成功 显示页面
index.m3u8 https://cctvcncw.v.wscdns.com/live/cctv1_1/index.m3u8?adapt=0&BR=pub
index.m3u8 https://cctvtxyh5c.liveplay.myqcloud.com/live/cdrmcctv1_1/index.m3u8
cdrmcctv1_1_md.m3u8 https://cctvtxyh5c.liveplay.myqcloud.com/live/cdrmcctv1_1_md.m3u8
cdrmcctv1_1_td.m3u8 https://cctvtxyh5c.liveplay.myqcloud.com/live/cdrmcctv1_1_td.m3u8

我们可以发现,第二个链接可以选择清晰度,而第三第四个链接则是选择清晰度之后的视频地址。
在这里插入图片描述在这里插入图片描述
我们多次切换后发现,我们出现了几个清晰度不同的链接

清晰度 链接
流畅 https://cctvtxyh5c.liveplay.myqcloud.com/live/cdrmcctv1_1_md.m3u8
标清 https://cctvtxyh5c.liveplay.myqcloud.com/live/cdrmcctv1_1_hd.m3u8
高清 https://cctvtxyh5c.liveplay.myqcloud.com/live/cdrmcctv1_1_ud.m3u8
超清 https://cctvtxyh5c.liveplay.myqcloud.com/live/cdrmcctv1_1_td.m3u8

可是这些都无法播放啊!!!!

放大招

硕鼠硕鼠,无食我黍

网上很多人都有各种不同的方法,之前我去一个非常著名的一个论坛就看到了我们如何去播放CCTV的直播,但是方法却十分狗血。 就是去寻找我们网上的一些大神所给我们的M3U8新地址,大多都是在阿里上的。虽然这些也能用,但是毕竟可能会有一种期限,我们不能保证它在任何时候都能够访问,失效了也说不定对吧?所以我们去下载CCTV的视频是最好的。

硕鼠硕鼠,无食我麦

现在就给大家推荐一个解析网站,当然它不提供存储,仅仅是解析罢了在这里插入图片描述
我们可以看到的是,我们已经打开了我们的网页了,然后我们直接输入这样的网址https://tv.cctv.com/live/cctv10/,点击开始我们可以看到这样的界面
在这里插入图片描述
点击最新的日期,我们会看到这样的东西
在这里插入图片描述
我们再随便点击一个试一下,就会发现这样的链接
在这里插入图片描述
原来这就是最后的链接,原来这就是最终的东西
于是我们将这个东西发到我们的地址栏中进行测试,没想到真的成功了呀!
在这里插入图片描述
于是我们再次看一下我们的视频,都是五分钟的视频,那么也就说我们一个小时之中就有十二个小片段,那么这样子我们就可以开展爬取了。
在这里插入图片描述

硕鼠硕鼠,无食我苗

那我们就开始咯,我们再来看一看这里边的延迟,我现在的时间是九点十三分
在这里插入图片描述
那么如果这样算的话,我们的视频应该是在002这样的节点上

在这里插入图片描述
果然证明我们的猜想,这是可以播放的。那么我们再试一试003呢?
在这里插入图片描述
由于我现在本地时间已经到十七分了,所以我们尝试004,发现果然无法访问,那么就是说我们可能会有十分钟的延迟

开始爬取咯!

现在我们就开始爬取了,我们首先就是要获取本地的时间
在这里插入图片描述

然后我们开始要我们在分钟的片段上面进行研究,于是就可以写出这样的IF语句,我们为了各种情况都做出了充足的准备!
在这里插入图片描述
我们这个时候打印以下这个self.section_all这个对象,如果可以出现当时候的数字编码的话就证明我们逻辑成功了
在这里插入图片描述

import time

# 定义一个StreamIng类
class StreamIng():
	def __init__(self,num):
		self.num = num
		# 开始运行程序
		self.get_local_time()

	def get_local_time(self):
		# 获取转换后的时间戳
		localtime = time.localtime()
		# print(localtime)

		# 获取现在的年,月,日,小时,分钟
		self.year = time.strftime("%Y",localtime)
		self.month = time.strftime("
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

地摊主老袁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值