赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
这个问题是我弟问的,他们单位好像有什么地方要用,需要下载某个APP里点播的视频。按道理一般的方式肯定是没法下载的,但我们可以通过相对不那么一般的方式。
一、fiddler是什么?如何抓取流媒体地址?
fiddler是比较常用的一款抓包工具,基本上大家抓http用的都是这玩意,更底层还有wireshark之类的软件,这个就不细说了。
正所谓XX玩得好,牢饭少不了,fiddler就是XX的其中之一,为了避免不必要的麻烦,我就不赘述具体流程了,这里引用csdn里其他大佬的文章:
使用Fiddler对手机App抓包_fiddler手机抓包-CSDN博客
抓包工具:Fiddler下载、安装、使用 教程-CSDN博客
自己尝试抓包吧,然后找出以下类型的包:
看图标就知道了,这跟视频有关对吧,点击这些包,在右边详情窗口仔细看一下请求和响应的相关信息,找一找包含m3u8的url地址,有可能是已经请求出去了,也有可能在响应里能找到返回的地址和token之类的信息。(流媒体地址通常都是需要带token的,有些甚至要带key)
尽量把完整的流媒体地址,找出来,比如我找到的就是这样的:
拿到地址之后,进行下一步操作。
这里我们需要用到一个叫做 N_m3u8DL-RE 的工具,在git上已经开源,非常不错,如果你是自己项目需要用到类似功能的话,也可以整合进自己项目里。
发行版下载地址:Releases · nilaoda/N_m3u8DL-RE · GitHub
具体的使用教程在该仓库的readme也写得挺清晰的:GitHub - nilaoda/N_m3u8DL-RE: Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.
下载好之后,找个地方解压出来,你会获得一个 N_m3u8DL-RE.exe 文件。
这时还不能使用,该工具还需要配置ffmpeg才可以正常运行。
最简单的可以直接去BtbN的git仓库下载已经打包好的发行版:
Releases · BtbN/FFmpeg-Builds · GitHub
也可以去ffmpeg的官网下载源码自己编译:
然后把 N_m3u8DL-RE.exe 和 ffmpeg.exe 都放在同一个目录下,打开控制台进入到该目录。
简单示例(为了方便查看,我对命令进行了换行,实际使用时别这样写):
- .\N_m3u8DL-RE.exe
- https://bdhlsvodhls02.vhallxxxxxxxxxx.com/vhallxxxxxxxxxx/vhallrecord/lss_49130efe/20231128210735_b765dac9/record.m3u8?token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- --save-name 01 --ffmpeg-binary-path .\ffmpeg.exe
具体命令该怎么写,去看 N_m3u8DL-RE 的readme就行。
然后就会开始下载了:
下载完成后会自动进行合并,文件太大我懒得下载完,反正会有提示告诉你的。
最终会合并成一个以你 输入的 name(你指定的文件名).mp4(或其他你指定的格式)的视频文件在当前目录下。
用视频播放器打开查看是否正常即可,一般来说,主要是看看音轨有没有问题。
感谢阅读!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。