前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >抓取抖音 快手 摄像头直播流

抓取抖音 快手 摄像头直播流

作者头像
逍遥子大表哥
发布2022-11-12 13:33:30
3.9K0
发布2022-11-12 13:33:30
举报
文章被收录于专栏:kali blog

近年来,各种平台的直播日益火爆。在生活生产中,我们需要一些直播的场景。如将抖音、快手等平台的直播推流抓取,直接在网络播放器中实时播放。能否做到呢?和大表哥一起来研究吧!

🍎常见的直播三大协议

RTMP 协议为流媒体而设计,在推流中用的比较多,同时大多 CDN 厂商支持RTMP 协议。

HTTP-FLV 使用类似 RTMP流式的 HTTP 长连接,需由特定流媒体服务器分发的,兼顾两者的优点。以及可以复用现有 HTTP 分发资源的流式协议。它的实时性和 RTMP 相等,与 RTMP 相比又省去了部分协议交互时间,首屏时间更短,可拓展的功能也更多。

HLS 作为苹果提出的直播协议,在 iOS 端占据了不可撼动的地位,Android 端也同时提供相应的支持。

🍂获取抖音 快手直播流

如果获取抖音的直播地址呢?我们只需利用流量分析工具抓取含有以上协议的url就行了。

首先我们找到要抓取的当前直播。并将其分享,如下:

将分享的地址在浏览器中打开,bing

然后利用流量分析工具抓取当前数据包。

然后,我们搜索直播协议中的文件格式flv或者m3u8即可。

右键,复制地址。然后放入流媒体播放工具测试。

效果如下:

同样的方法,我们可以抓取快手 B站的直播流。

抓取数据

🍄利用Html展示

现在遇到这样一个新的问题。我们获取了直播流。但是只能通过流媒体播放器才能播放。想通过html来播放直播视频可以吗?

我们知道在H5中,video标签是用来播放视频的。但是它仅仅解析mp4 avi等常见的格式。而flv m3u8等格式是不支持的。如何解决呢?

🍛认识flv.js

一个实现了在 HTML5 视频中播放 FLV 格式视频的 JavaScript 库。它的工作原理是将 FLV 文件流转码复用成 ISO BMFF(MP4 碎片)片段,然后通过 Media Source Extensions 将 MP4 片段喂进浏览器。

flv.js只做了一件事,在获取到FLV格式的音视频数据后通过原生的JS去解码FLV数据,再通过Media Source Extensions API 喂给原生HTML5 Video标签。(HTML5 原生仅支持播放 mp4/webm 格式,不支持 FLV)

✍代码示例

首先,我们需要先引入flv.js

代码语言:javascript
复制
<script src="https://cdn.bootcss.com/flv.js/1.3.3/flv.js"></script>

html代码如下:

代码语言:javascript
复制
<video width="300px" height="400px" id="videoElement" controls></video>
<script>
  if (flvjs.isSupported()) {
  var videoElement = document.getElementById('videoElement');
  var flvPlayer = flvjs.createPlayer({
  type: 'flv',
  url: 'https://pull-f3.douyincdn.com/third/stream-111864726937404075_hd.flv?abr_pts=-1800'
  });
  flvPlayer.attachMediaElement(videoElement);
  flvPlayer.load();
  flvPlayer.play();
    }
</script>

效果如下:

🐋抓取摄像头直播流

我们也常见一些直播,使用景点的摄像头进行实时直播。又是怎么做到的呢?

这里我们以家用的TPLink摄像头为例。

在摄像头APP中分享设备,然后抓取直播流。

抓数据包

测试

😹总结

本期,我们讲解的视频直播流协议的抓取。原理也很简单,无非就是抓包筛选直播协议flv m3u8即可。


版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/2160571

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🍎常见的直播三大协议
  • 🍂获取抖音 快手直播流
  • 🍄利用Html展示
  • 🍛认识flv.js
  • ✍代码示例
  • 🐋抓取摄像头直播流
  • 😹总结
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档