我使用 Chrome 浏览器扩展来解析从 .m3u8 URL 流式传输视频的网页。
是否可以使用视频元素中的 blob URL 来查找源 .m3u8 URL?
这是视频元素的示例
<video class="jw-video jw-reset" tabindex="-1" disableremoteplayback=""
src="blob:https://www.example.com/c15f59e0-872f-43c0-9811-ef907362ef2b"
webkit-playsinline="" playsinline=""
id="yui_3_17_2_1_1731598374038_37">
</video>
以下是可能的 .m3u8 URL:
“https://souvod.bynetcdn.com/vod/smil:vod/example/PRV2/se8SHJBRO2/App/se8SHJBRO2_10.smil/playlist.m3u8?md5=1eIJ0a3gmKuZsbXj2GIA7g&expires=1731653039”
“https://souvod.bynetcdn.com/vod/smil:vod/example/PRV2/T9fPkHmcGS/App/T9fPkHmcGS_10.smil/chunklist_b400000.m3u8?md5=yoWmdzXdGRVlOvJQjsqVwg&expires=1731653048”
“https://souvod.bynetcdn.com/vod/smil:vod/openu/PRV2/se8SHJBRO2/App/se8SHJBRO2_10.smil/chunklist_b400000.m3u8?md5=vq7cq3DmDwbN2YlwGx0zpA&expires=1731653742”
由于媒体流传输方式的性质,将 blob 源与 M3U8 URL 进行匹配可能具有挑战性。这里简单解释一下:
Blob URL 是用于在浏览器中表示文件数据的对象 URL。它们是为客户端访问而生成的,并不直接指向外部资源。通常,blob URL 是根据本地文件或下载的数据创建的,例如存储在浏览器内存中的视频文件。
M3U8 URL 是用于通过 HTTP 传输媒体内容的播放列表文件。它们专门用于 HTTP Live Streaming (HLS) 并表示一系列小媒体文件。这些 URL 更加永久,通常可以追溯到原始服务器。
将 blob 源与 M3U8 URL 匹配需要深入了解流处理过程:
如果 blob URL 源自 M3U8 流,您可以通过在浏览器的开发人员工具中分析源网络请求来匹配内容。 流式传输时,检查加载 M3U8 文件的网络活动。这可以提供 blob 内容是否源自特定 M3U8 流的线索。 FFmpeg 或浏览器扩展等工具也可以帮助捕获和分析流媒体源。 总之,虽然将 blob 源直接与 M3U8 URL 关联起来并不总是那么简单,但在流式传输期间检查网络请求并使用诊断工具可以帮助理解两者之间的联系。