作者:育霖培伦861 | 来源:互联网 | 2024-11-06 17:12
近期,有同事希望下载网络上的一些有趣视频用于个人用途,但在尝试过程中遇到了下载难题。通过使用Chrome开发者工具检查网络请求后,发现视频并非以常见的MP4格式提供,而是通过多个TS片段进行流式传输。为了高效地批量下载这些TS文件,可以利用FFmpeg这一强大的多媒体处理工具,实现自动化下载和合并,从而轻松获取完整的视频内容。
最近同事有看到网上一些好玩的视频,想下载下来用一下,发现怎么都下载不了,用chrome 开发者模式看了一下,没有找到视频的mp4 地址,倒是视频文件缓冲的时候,会一直下载小的 ts,文件。
分析了一下 ,视频是流的行式 m3u8格式 播放的,ts文件是视频的切片形式,可以加快视频缓冲并且减少卡顿。
如果是一直的mp4 文件可以通过chrome 找到视频地址下载下来。
好了,下边说一下通过流地址的视频怎么下载。
1.打开chrome 开发者模式 刷新视频页面

在Network 这个地方基本可以看到 这些文件,m3u8 是流地址,ts是缓存的视频文件
如果只是观看的话可以把m3u8 文件下载下来

用文本程序都可以打开这个文件,可以发现 所有的ts 文件名基本都出现在这个文件里了
用迅雷就可以把所有的文件下载下来了,不用你一个个猜这个ts文件名一共有多少
重点是下边的 mac电脑 下载ffmpeg来批量下载并把ts 文件合成 mp4文件
参考:廖雪峰的网站
下边这些都是终端完成的
https://www.liaoxuefeng.com/article/0013738927837699a7f3407ea5f4b5caf8e1ab47997d7c5000
https://trac.ffmpeg.org/wiki/CompilationGuide/macOS
1) 安装XCode
macos 装xcode 大家都懂得
2) 安装homebrew
ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
3)安装ffmpeg
brew install ffmpeg
安装中可能会有错误提示
xcode-select --install
brew install ffmpeg
我安装的时候 提示我xcode-select -- install 然后我就照提示操作,这个命令完成后 再brew install ffmpeg.安装完成
4)到自己想到下载视频的目录
ffmpeg -i http://aisylive.oss/xxxxxxx/xxxx/180209c001_3.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4
至此 视频下载合并完成,收工。
不过装了这个后 ,发现mac qq 不能发送文件了,图片和视频都不行 。重装安装QQ 问题解决,可能是ffmpeg 对文件夹的权限做了改动,也可能是我自己误操作了 ,我是直接在 / 根目录下下载的视频