热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用FFmpeg批量下载TS视频文件的高效方法

近期,有同事希望下载网络上的一些有趣视频用于个人用途,但在尝试过程中遇到了下载难题。通过使用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 对文件夹的权限做了改动,也可能是我自己误操作了  ,我是直接在 / 根目录下下载的视频


推荐阅读
  • 探索PWA H5 Web App优化之路(Service Worker与Lighthouse的应用)
    本文探讨了如何通过Service Worker和Lighthouse工具来优化PWA H5 Web App,旨在提升用户体验,包括提高加载速度、增强离线访问能力等方面。 ... [详细]
  • 从 Windows 转向 Mac 的开发者指南:必备技巧与工具
    本文旨在帮助从 Windows 转向 Mac 的开发者们,提供一系列实用的技巧和工具,确保过渡过程顺畅。 ... [详细]
  • ANSI最全介绍linux终端字体改变颜色等ANSI转义序列维基百科,自由的百科全书由于国内不能访问wiki而且国内关于ANSI的介绍都是简短的不能达到,不够完整所以转wiki到此 ... [详细]
  • 本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ... [详细]
  • 本文探讨了在iOS平台上开发BLE(蓝牙低功耗)应用程序时遇到的挑战,特别是如何实现应用在后台模式下仍能持续扫描并连接蓝牙设备。文章提供了具体的配置方法和常见的问题解决方案。 ... [详细]
  • Ubuntu GamePack:专为游戏爱好者打造的Linux发行版
    随着Linux系统在游戏领域的应用越来越广泛,许多Linux用户开始寻求在自己的系统上畅玩游戏的方法。UALinux,一家致力于推广GNU/Linux使用的乌克兰公司,推出了基于Ubuntu 16.04的Ubuntu GamePack,旨在为Linux用户提供一个游戏友好型的操作环境。 ... [详细]
  • QLab Pro如何对工作区进行设置
    QLabMac是一款Mac平台的音频编辑处理工具,用户可对WAV、MP3、MP2、MPEG、OGG、AVI、g721、g723、g726、vox、ram、pcm、wm ... [详细]
  • 在Java开发中,如何利用ProcessBuilder类调用外部程序是一个常见的需求。本文将详细介绍ProcessBuilder类的使用方法,并提供示例代码帮助你更好地理解和应用。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • 在网站制作中随时可用的10个 HTML5 代码片段
    HTML很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单。在这篇文章中,我收集了10个超有用的HTML代码片段,有HTML5启动模板、空白图片、打电话和发短信、自动完 ... [详细]
  • MySQL PMM:MyISAM 和 Aria 存储引擎的性能优化
    本文探讨了 MyISAM 和 Aria 存储引擎在 MySQL 中的关键性能指标,包括密钥缓冲区效率、页面缓存读写性能以及事务日志同步策略。通过优化这些参数,可以显著提升数据库的整体性能。 ... [详细]
  • 本文介绍Linux中的Diff命令,该命令用于逐行对比两个文本文件,展示它们之间的差异。通过系统性检查,它能有效标识出文件间所有不同的行,无需事先对文件进行排序。 ... [详细]
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
  • 基于Linux开源VOIP系统LinPhone[四]
    ****************************************************************************************** ... [详细]
author-avatar
育霖培伦861
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有