这篇文章是因女儿幼儿园所用的app而写的。
关键字:E佳园,Fiddler,VLC,m3u8, Proxy, Traffic Capture
背景
老师经常在E佳园上传一些幼儿园里关于小朋友的视频,而且这些视频极为珍贵,所以很多家长都有保存这些视频的需求。遗憾的是E佳园App并未提供保存视频的功能。
本文将介绍如何保存E佳园的视频。
方法
基本上分成2个大步骤。
步骤1:获取视频的地址。
E佳园的视频应该是存在服务器上的,如果要下载必须了解视频的地址。为了拿到这个地址,需要了解App上如何和服务器交互的,这里需要借助一台电脑。下面会介绍详细步骤。
步骤2:根据视频的地址进行下载。
经了解,E佳园的视频并不是常见的视频格式,而是不常用的m3u8格式。
实际, m3u8格式可以直接在部分浏览器上播放,但不如MP4等格式易于传播。所以需要借助一些软件将m3u8转化为mp4等传统格式。
详细步骤
获取视频地址
1. 确保手机和电脑在同一Wi-Fi下,这样手机和电脑可以在一个局域网里。
2. 下面以Windows为例。下载并安装Fiddler软件(https://www.telerik.com/download/fiddler)。如下图:
3. 打开Fiddler软件,菜单Tools->Options->Connections, 如下图。这里端口号是8888,非常重要,因为该端口在手机上设置要用到的。Allow remote computers to connect需要勾选上,并重启Fiddler。
4. 检查手机和电脑是不是在同一Wi-Fi下。
下面是手机的(Android)
我们看到电脑和手机连接的Wi-Fi都是ChinaNet-TT.
5. 获取电脑的IP地址。
打开命令行,输入ipconfig即可获取。
下面以Windows 10为例子。点击Search Windows
选择Command Prompt。输入ipconfig
我们可以看到IPv4 Address 那行的192.168.1.6,它就是本机IP地址。
6. 设置手机侧,以Android为例。iOS类似。
长按ChinaNet-TT,选择修改网络。
这里192.168.1.6是Windows的IP地址。 8888是前面的端口号。
7. 打开E佳园App,进入到想看的视频。同时也打开Fiddler。
我们会发现Fiddler在不停的在滚动,这些就是App上网的记录
点个图片看看
因为抓包比较多,可以等到Fiddler滚动慢了,然后再点击想要看的视频,这样很容易定位到自己想看视频的信息。
在Fiddler里,就是下图中选择的那条记录。
如何判断那条记录是我们需要找的?
- 记录第一列图标应该是,而且Content-Type列是application/json。
- URL是以/video/v/get开头
- 点击选择左边的记录,右边选择Inspectors,点击JSON就可以看到相应内容了。
根据以上方法,我们可以快速定位到该记录,而且右边Inspector的结果为。
{“videoUrl”:”http://ooutvideo.oss-cn-hangzhou.aliyuncs.com/classvideoout/254cab5182e24336ad9469bd70fdbe4b/act-m3u8-segment/1522510377790.m3u8?Expires=xxxxxxxxx”,”snapUrl”:”http://ooutvideo.oss-cn-hangzhou.aliyuncs.com/classvideoout/254cxxxxxxx.jpg?Expires=1522551104&OSSAccessKeyIdxxxxx”,”duration”:129.0788}
videoUrl就是视频的地址了
snapUrl是该视频的封面.
下载并转化视频
视频的URL找到了,接下来就要转成MP4.
1 推荐用VLC Media,https://www.videolan.org/vlc/ 下载并安装。
2 打开菜单Media->Open Network stream
输入视频URL
继续点击右下角的Play按钮的倒三角,出现如下菜单,选择Convert。出现如下对话框。
在Settings的profile选择MP4或其他格式。并在Destination file选择该视频的保存地址。最后点击Start按钮就开始下载并转化了
下图是转化的进度。
转化完后,用VLC播放一下刚才的vie.mp4.