抓取并下载M4S分段音频和视频文件

问题描述 投票:0回答:3

我校推荐学生在这个短期课程平台上观看讲座。要访问它们,必须输入某些凭据。视频作为 GoolPlayer 嵌入,使用 Flowplayer.js 脚本,并且不提供下载视频的选项。

这是视频链接(需要复制粘贴,点击无效): https://www.gool.co.il/%D7%94%D7%A0%D7%93%D7%A1%D7%90%D7%99%D7%9D-%D7%AA%D7%9C -%D7%90%D7%91%D7%99%D7%91/%D7%94%D7%A0%D7%93%D7%A1%D7%90%D7%99-%D7%90%D7% 93%D7%A8%D7%99%D7%9B%D7%9C%D7%95%D7%AA-%D7%95%D7%A2%D7%99%D7%A6%D7%95%D7%91 -%D7%A4%D7%A0%D7%99%D7%9D/%D7%A1%D7%98%D7%98%D7%99%D7%A7%D7%94-~~%D7%A1% D7%95%D7%92%D7%A8%D7%99%D7%99%D7%9D2~~%D7%9E%D7%9B%D7%A0%D7%99%D7%A7%D7%94- %D7%94%D7%A0%D7%93%D7%A1%D7%99%D7%AA~~%D7%A1%D7%95%D7%92%D7%A8%D7%99%D7%99 %D7%9D1~~/%D7%9E%D7%91%D7%95%D7%90-%D7%9C%D7%A1%D7%98%D7%98%D7%99%D7%A7%D7 %94-(%D7%9E%D7%9B%D7%A0%D7%99%D7%A7%D7%94-%D7%94%D7%A0%D7%93%D7%A1%D7%99% D7%AA)#77794

在 Chrome 中观察网络,您可以发现视频和音频块被分成了多个片段,请求 url 如下:

https://5a153f939af4b.streamlock.net/academy/77794/chunk_ctvideo_ridp0va0br68335_cinit_w270836820_pd60000_qdElEPTQzMjY4OSZ2aWRlb1ZpZXc9MSZhY2Nlc3NUb2tlbj0wOTc1ZWR kOTU4NDc0MzAyYmQ0MjAxN2JhODFhZTY0Ng==_mpd.m4s

我尝试了很多 Chrome 和 Firefox 扩展来尝试下载视频,但没有任何运气。还尝试了 github 上的一些 M4S 脚本。

我发现做到这一点的最好的事情是 InviDownloader,一个开源程序,但是,由于文件名的原因,它似乎无法抓取所有段,它以随机顺序更改,因此该程序只能抓取第一个和最后一张。

关于如何下载视频有什么想法或想法吗?

video download video-streaming html5-video flowplayer
3个回答
4
投票
  1. 要从 gool 下载视频,您需要获取首次加载视频时传输给您的 mpd 文件。该文件负责生成您在加载更多视频时看到的 m4s 文件的链接。

  2. 获取文件后,您需要手动编辑它,并将用于获取 mpd 文件的基本 url 添加到 mpd 文件内的每个链接。

例如这个链接

chunk_ctvideo_rid$RepresentationID$_cs$Time$_w113767869_pd60000_qdElEPTU4NTcmdmlkZW9WaWV3PTEmYWNjZXNzVG9rZW49N2VhMzg5ZjRhNzJmNGFiMWE2NWU2NTI3Y2RjNTdhZTE=_mpd.m4s

将成为

https://5a153f939af4b.streamlock.net/bagrut/36808/chunk_ctvideo_rid$RepresentationID$_cs$Time$_w113767869_pd60000_qdElEPTU4NTcmdmlkZW9WaWV3PTEmYWNjZXNzVG9rZW49N2VhMzg5ZjRhNzJmNGFiMWE2NWU2NTI3Y2RjNTdhZTE=_mpd.m4s

  1. 现在您有了一个有效的 mpd 文件。

要播放它,您可以使用

vlc
。 例如:
vlc manifest.mpd

要将 mpd 文件编码为视频文件,您可以使用

cvlc
ffmpeg
(注意,ffmpeg 需要使用一些预构建中可能未启用的功能进行编译。[来自 nixpkgs 的 ffmpeg-full 对我有用] )

示例:

  • cvlc manifest.mpd --sout '#transcode{vcodec=h264,acodec=mp3}:std{access=file,mux=mp4,dst=output.mp4}' --play-and-exit
  • ffmpeg -i manifest.mpd -c copy output.mp4

3
投票

您可以通过流检测器

https://addons.mozilla.org/en-US/firefox/addon/hls-stream-detector/
检测 mpd 链接,然后使用
youtube-dl
下载视频 在那里阅读更多相关信息
https://forum.videohelp.com/threads/388942-How-do-I-download-m4s-segment-videos-and-combine-them-to-mp4-format


0
投票

我也在尝试从gool下载视频,你找到解决方案了吗?

© www.soinside.com 2019 - 2024. All rights reserved.