video - 通过实际代码从具有 .TS 或 .m3u8 文件路径的视频流中下载内容视频,以便我可以制作 chrome 扩展

标签 video google-chrome-extension download stream chrome-extension-manifest-v3

<分区>

大多数网站的视频都使用渐进式下载,即视频下载到我的电脑上,很容易追踪。有很多扩展可以做到这一点,即使在开发工具中也很容易做到。

在某些网站上,视频是流式传输的。这意味着我们不只是下载 1 个文件,我们下载了很多小包。在开发工具中可以跟踪这些包。我感兴趣的网站是:http://www.rtlxl.nl/#!/goede-tijden-slechte-tijden-10821/c8e2bff7-5a5c-45cb-be2b-4b3b3e866ffb .

- 包的扩展名为 .TS。

-可以通过复制请求的url来保存包

-我无法播放这些文件。

我一定做错了什么,或者我遗漏了什么。我想知道我做错了什么。我想创建一个供个人使用的 chrome 扩展,它可以捕获所有包的 url。当我拥有所有 url 时,我想将它们传递给 php 脚本,该脚本下载它们并使用 ffmpeg 将它们粘贴到 mp4 文件中。

请指导我如何下载这些文件的内容。

最佳答案

简单 youtube-dl macOS 上的示例(在命令行终端中;也支持 Windows):

# List variants (resolutions/bitrates)
$ youtube-dl -F https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8
[generic] f08e80da-bf1d-4e3d-8899-f0f6155f6efa: Requesting header
[generic] f08e80da-bf1d-4e3d-8899-f0f6155f6efa: Downloading m3u8 information
[info] Available formats for f08e80da-bf1d-4e3d-8899-f0f6155f6efa:
format code           extension  resolution note
audio-English_stereo  mp4        audio only [en] 
628                   mp4        320x180     628k , avc1.42c00d, video only
928                   mp4        480x270     928k , avc1.42c00d, video only
1728                  mp4        640x360    1728k , avc1.42c00d, video only
2528                  mp4        960x540    2528k , avc1.42c00d, video only
4928                  mp4        1280x720   4928k , avc1.42c00d, video only
9728                  mp4        1920x1080  9728k , avc1.42c00d, video only (best)

# Choose a variant to download, and use its format code below
$ youtube-dl --format 628 https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8
...
frame= 5257 fps=193 q=-1.0 Lsize=    6746kB time=00:03:30.16 bitrate= 263.0kbits/s speed=7.73x    
video:6679kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.998669%
[ffmpeg] Downloaded 6907810 bytes
[download] 100% of 6.59MiB in 00:29

$ open f08e80da-bf1d-4e3d-8899-f0f6155f6efa-f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mp4

启动流式视频时,使用浏览器的开发者工具 > 网络获取 m3u8(HLS list )URL。

关于video - 通过实际代码从具有 .TS 或 .m3u8 文件路径的视频流中下载内容视频,以便我可以制作 chrome 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22188332/

相关文章:

javascript - 设置 window.location 下载文件时出现警告

ios - Flowplayer Flash 覆盖功能和 ios 兼容性

javascript - Chrome 扩展程序中内容脚本和弹出脚本之间的消息传递

video - 将 mp3 转换为 mp4

javascript - 在输出之前从 src 更改 javascript?

javascript - 努力在 Chrome 扩展中获取 DOM 数据

javascript - 为什么我使用基于 Blob 的对象 URL 下载 AJAX 文件会损坏文件?

php - 使用laravel强制下载文件

video - 第四:免费视频教程?

Android WebRTC 不适用于不同的网络 - 无视频