如何下载某些 flash 在线视频 并使用ffmpeg下载分段并加密的m3u8视频流
2015-02-16 08:54
435 查看
有些网站使用 flash 在线播放视频,不方便进行下载。
可以使用 Chrome 的 Developer Tools 模拟成 iOS 设备(通过修改 User Agent),然后取得 h.264 视频流的地址。
取得 h.264 视频流的地址
1. 在页面上打开 Developer Tools (开发者工具),点击坐上的"手机"按钮(如下图)。
2. 在左边 "Device" 选择 "Apple iPhone" 或 "Apple iPad" 等设备,刷新页面。
3. 这时页面应该会提供 html5 的视频播放支持,定位到播放器元素,找到数据源链接(通常是一个 m3u8 文件)。
如何下载分段并加密的 .m3u8 视频流
1. 下载一个编译好的 ffmpeg 可执行文件(http://ffmpeg.org)。
2. 使用命令 ffmpeg -i http://...m3u8 -c copy out.mkv 将视频流下载并合并成 out.mkv。
4. 如果视频流并未加密,或者加密密钥(URI 存在于 m3u8 中)可以直接通过 http 访问到,通常可以正常下载(这种情况一般也可以用各种浏览器视频下载插件下载),但如果 URI 通过 https 协议,或者有 cookies 验证等机制,则需要手动下载密钥。
5. m3u8 中的密钥通常是这样的:#EXT-X-KEY:METHOD=AES-128,URI="https://xxx" 这时需要用能够在线观看到这个视频的浏览器会话去访问这个 URI (通过 cookies 验证),并保存到本地,把 m3u8 也保存到本地,密钥的 URI 改为下载好的本地路径(一个 m3u8 中可能有多个密钥,需要一一处理)。
6. 再次执行 ffmpeg 的命令,即可正常下载。
注:
使用 ffmpeg 无法直接下载 m3u8 内容的情况:
1. m3u8 中的密钥的 URI 是走 https 协议的(这时 ffmpeg 一般会提示不支持 https 协议,但可以通过自己编译一个 ffmpeg 来打开 https 的支持)。
2. URI 有 cookies 认证(这种情况应该只能用浏览器先下载密钥了)。
可以使用 Chrome 的 Developer Tools 模拟成 iOS 设备(通过修改 User Agent),然后取得 h.264 视频流的地址。
取得 h.264 视频流的地址
1. 在页面上打开 Developer Tools (开发者工具),点击坐上的"手机"按钮(如下图)。
2. 在左边 "Device" 选择 "Apple iPhone" 或 "Apple iPad" 等设备,刷新页面。
3. 这时页面应该会提供 html5 的视频播放支持,定位到播放器元素,找到数据源链接(通常是一个 m3u8 文件)。
如何下载分段并加密的 .m3u8 视频流
1. 下载一个编译好的 ffmpeg 可执行文件(http://ffmpeg.org)。
2. 使用命令 ffmpeg -i http://...m3u8 -c copy out.mkv 将视频流下载并合并成 out.mkv。
4. 如果视频流并未加密,或者加密密钥(URI 存在于 m3u8 中)可以直接通过 http 访问到,通常可以正常下载(这种情况一般也可以用各种浏览器视频下载插件下载),但如果 URI 通过 https 协议,或者有 cookies 验证等机制,则需要手动下载密钥。
5. m3u8 中的密钥通常是这样的:#EXT-X-KEY:METHOD=AES-128,URI="https://xxx" 这时需要用能够在线观看到这个视频的浏览器会话去访问这个 URI (通过 cookies 验证),并保存到本地,把 m3u8 也保存到本地,密钥的 URI 改为下载好的本地路径(一个 m3u8 中可能有多个密钥,需要一一处理)。
6. 再次执行 ffmpeg 的命令,即可正常下载。
注:
使用 ffmpeg 无法直接下载 m3u8 内容的情况:
1. m3u8 中的密钥的 URI 是走 https 协议的(这时 ffmpeg 一般会提示不支持 https 协议,但可以通过自己编译一个 ffmpeg 来打开 https 的支持)。
2. URI 有 cookies 认证(这种情况应该只能用浏览器先下载密钥了)。
相关文章推荐
- 新手求助2---怎么在cnblogs里插入下载文件 的链接?如何 插入自动播放的 flash 或者 背景音乐?
- 如何下载网页中的flash SWF文件
- 如何使用 ASP.NET 实用工具加密凭据和会话状态连接字符串
- 如何使用 Enterprise Library 3.0 的Cryptography Application Block 处理加密
- 如何使用 Enterprise Library 3.0 的Cryptography Application Block 处理加密
- 如何使 FlashGet "正常合法" 下载 Session 中的自定义文件链接呢? JSP/Servlet 实现!
- 如何使用户能下载服务器中的文件
- 使用Flash DownLoad编写采集器(之突破防盗连下载音乐文件)第1/4页
- 使用Flash DownLoad编写采集器(之突破防盗连下载音乐文件)第1/4页
- 使用代理http协议下载flash
- 如何使用SQL 2000的DTS自动从FTP服务器下载文件
- 使用RenderWare如何加密解密已经放出去的贴图
- 如何使用MD5技术加密
- 如何使用 ffmpeg 编码得到高质量的视频
- 如何使用mIRC下载电子书
- 如何使用 Visual C# 加密和解密文件
- 如何下载保存网上的FLASH
- 如何使用Asp来隐藏文件的实际下载路径
- 如何让windows升级文件在下载安装系统时使用
- 如何使用 Visual C# 加密和解密文件 转载