如何从Earthcam公共直播视频及YouTube直播流中获取RTSP URL
公共直播流转RTSP实现方案
前置依赖工具
你需要提前安装两个常用的音视频处理工具:
yt-dlp:通用的公共平台视频/直播流抓取工具,支持几乎所有主流流媒体平台的流地址解析FFmpeg:音视频编解码、转封装工具,用来实现流协议转换- 轻量RTSP服务:比如
rtsp-simple-server,安装后启动即可在本地监听端口,接收转封装后的RTSP流
YouTube直播流转RTSP方法
YouTube本身不提供直接的RTSP输出,你可以通过「流抓取+实时转封装」的流程实现:
- 先用
yt-dlp解析出直播的最优清晰度HLS流地址,命令示例:
yt-dlp -g "https://www.youtube.com/watch?v=AdUw5RdyZxI"
执行后会输出对应的HLS流URL,工具会自动处理签名、权限校验等逻辑,不需要手动解析网页。
2. 用FFmpeg将HLS流转为RTSP流输出到本地RTSP服务,你的视频分析代码直接读取本地RTSP地址即可,命令示例:
ffmpeg -i [上一步获取的HLS流地址] -c:v copy -c:a copy -f rtsp rtsp://127.0.0.1:8554/test
说明:命令中使用
copy模式仅做协议转封装,不修改音视频编码,不会产生画质损失,延迟也能控制在10秒以内。
Earthcam直播流转RTSP方法
Earthcam的公开直播流大多采用HLS或RTMP协议分发,操作逻辑和YouTube完全通用:
- 用
yt-dlp直接解析Earthcam对应直播页面的地址,即可获取原始流地址,多数无权限限制的公共直播都可以直接解析成功 - 复用上面的FFmpeg命令转封装为RTSP流即可
注意事项
- 上述方法仅可用于公开无版权限制的公共直播流的测试场景,请勿用于商业用途或二次分发
- 如果遇到流地址解析失败的情况,可以给
yt-dlp增加--user-agent参数模拟浏览器请求,规避平台的反爬限制
内容的提问来源于stack exchange,提问作者Kiran Kumar Basavaraju
相关产品推荐
相关产品推荐

