ffmpeg 下载网上m3u8的视频文件
一、关于 FFmpeg
FFmpeg 是一个音视频领域使用最广泛的跨平台开源库。由C语言编写,但广泛的为 C/C++、C#、Java、Python 等主流编程语言所调用。它集合了几乎所有的编码解码库与流协议,几乎能完美处理音视频开发领域的所有需求。
二、Mac 平台安装 FFmpeg
方式一:源码安装 FFmpeg
通过编译源码安装 FFmpeg 的优点是可以把我们想要的东西都塞到FFmpeg中,不想要的就删掉,也就是根据自己的需要对FFmpeg进行裁剪。首先我们编希望达到的目标:
(1)编译出 ffmpeg、ffplay、ffprobe 三个命令行程序;
(2)只产生动态库,不产生静态库;
(3)将 fdk-aac、x264、x265集成到 FFmpeg 中(fdk-aac 会在后续 AAC 编解码时用到,x264、x265会在视频模块中用到);
1.1、安装依赖项:
a、安装 yasm
#下载 yasm 1.2.0
$ curl http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz >yasm.tar.gz
# 解压
$ tar xzvf yasm.tar.gz
# 进入目录 yasm-1.2.0
$ cd yasm-1.2.0
# 执行配置
$ ./configure
# 编译
$ make
# 安装
$ sudo make install
b、安装 sdl2(如果不需要安装 ffplay 可以忽略这一步):
$ brew install sdl2
c、安装 fdk-aac
brew install fdk-aac
d、安装 x264
brew install x264
e、安装 x265
brew install x265
可通过 brew list命令查看是否安装过 fdk-aac、x264、x265;
1.2、编译 FFmpeg 源码
a、下载 FFmpeg 源码(xz、bzip 和 gzip 三种选项仅仅是压缩格式不同,内容是相同的):
官网下载地址:https://ffmpeg.org/download.html
b、下载完成解压 FFmpeg ,打开终端进入 FFmpeg 源码文件夹:
$ cd /Users/mac/Downloads/ffmpeg-4.3.2
c、执行源码目录下的 configure 脚本:
$ ./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265
--prefix
指定编译好的 FFmpeg 安装路径--enable-shared
生成动态库--disable-static
不生成静态库--enable-libfdk-aac
将 fdk-aac 内置到 FFmpeg--enable-libx264
将 x264 内置到 FFmpeg 中--enable-libx265
将 x265 内置到 FFmpeg 中--enable-gpl
x264、x265要求开启 GPL License--enable-nonfree
fdk-aac 与 GPL 不兼容,需要通过开启 nonfree 进行配置
参考:https://github.com/FFmpeg/FFmpeg/blob/master/LICENSE.md./configure —help | grep XXX
通过命令查看每个配置项的作用
d、编译:
$ make -j 8 && sudo make install
e、为了让bin目录中的 ffmpeg、ffprobe、ffplay 在任意位置都能够使用,需要先将 bin 目录配置到环境变量 PATH 中
# 打开环境变量
$ vim ~/.bash_profile
# 输入 i 进入编辑模式,配置 ffmpeg 环境变量,然后按 ESC,输入 :wq 退出编辑模式
export PATH=/usr/local/ffmpeg/bin:$PATH
# 执行 source 命令,是配置的环境变量生效
$ source ~/.bash_profile
如果你用的是zsh,而不是bash,只需要将上面的 .bash_profile 换成 .zprofile 。
f、检查是否安装成功:
$ ffmpeg -version
如果控制台打印以下内容说明安装成功:
ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers
built with Apple clang version 11.0.3 (clang-1103.0.32.62)
g、安装成功后目录结构:
$ tree
.
|____bin # 应用程序,可在终端中使用
| |____ffmpeg # 用于转码的应用程序 [文档](http://ffmpeg.org/ffmpeg.html)
| |____ffplay # 用于播放的应用程序 [文档](http://ffmpeg.org/ffplay.html)
| |____ffprobe # 用于查看文件格式的应用程序 [文档](http://ffmpeg.org/ffprobe.html)
|____include # 头文件
| |____libavcodec # 编解码库,用于音频/视频编解码
| |____libavformat # 封装格式处理,包含多媒体容器格式复用器和解复用器的库
| |____libavfilter # 滤镜特效处理
| |____libavdevice # 包含输入输出设备的库
| |____libavutil # 包含简化编程功能的工具库(大部分库都需要这个库的支持)
| |____libswresample # 音频采样数据格式转换,用于高度优化的音频重采样、重新矩阵化和样本格式转换操作
| |____libswscale # 视频像素数据格式转换,用于高度优化的图像缩放和色彩空间/像素格式转换操作
| |____libpostproc
|____lib # 动态库
| |____libpostproc.55.dylib
| |____libswscale.dylib
| |____libavutil.56.51.100.dylib
| |____libavcodec.58.91.100.dylib
| |____libswscale.5.dylib
| |____libswresample.3.dylib
| |____libavfilter.7.dylib
| |____libavformat.58.dylib
| |____libavformat.dylib
| |____libavutil.dylib
| |____libavformat.58.45.100.dylib
| |____libavutil.56.dylib
| |____libswresample.3.7.100.dylib
| |____libavcodec.dylib
| |____libavdevice.58.dylib
| |____libswresample.dylib
| |____libavdevice.dylib
| |____libavfilter.7.85.100.dylib
| |____libpostproc.dylib
| |____libavfilter.dylib
| |____libpostproc.55.7.100.dylib
| |____libswscale.5.7.100.dylib
| |____libavdevice.58.10.100.dylib
| |____libavcodec.58.dylib
h、如果安装的 ffmpeg 有问题,卸载命令:
$ cd /Users/mac/Downloads/ffmpeg-4.3.2
$ sudo make uninstall
方式二:Mac 平台也可以选择使用 Homebrew的方式进行安装(源码安装和Homebrew安装二选一):
$ brew install ffmpeg
查看 FFmpeg 是否安装成功:
$ ffmpeg -version
如果可以成功查看版本号,说明安装成功!
如果brew install ffmpeg
报错,考虑到可能是镜像原因,请更改镜像:
# 替换brew.git:cd "$(brew --repo)"git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git# 替换homebrew-core.git:cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git# 应用生效brew update# 替换homebrew-bottles:echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profilesource ~/.bash_profile
如果误操作也可以恢复默认配置:
首先执行下述命令:
# 重置brew.git:$ cd "$(brew --repo)"$ git remote set-url origin https://github.com/Homebrew/brew.git# 重置homebrew-core.git:$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"$ git remote set-url origin https://github.com/Homebrew/homebrew-core.git
然后删掉 HOMEBREW_BOTTLE_DOMAIN 环境变量,将你终端文件
~/.bash_profile
或者 ~/.zshrc
中HOMEBREW_BOTTLE_DOMAIN
行删掉, 并执行 source ~/.bash_profile
或者source ~/.zshrc
三、使用ffmpeg
下载视频,并将m3u8格式转为mp4格式,指令如下:
ffmpeg -i https://youku.com-youku.net/20180620/13336_33db73a9/index.m3u8 fileName.mp4
或者
ffmpeg -i https://youku.com-youku.net/20180620/13336_33db73a9/index.m3u8 -c copy fileName.mp4
下载中。。。由于视频很大,下载需要很长长长时间(1个G的视频可能需下载几小时…)。
可以通过如下指令进行下载提速(下载速度大约能提升到几到十几分钟,很棒了哦,起码比百度云快):
ffmpeg -i https://youku.com-youku.net/20180620/13336_33db73a9/index.m3u8 -c copy -bsf:a aac_adtstoasc fileName.mp4
如果你想用终端工具拉起视频播放,直接通过如下指令就能 播放某链接的视频
ffplay -i https://xxxx
参考链接1、https://www.jianshu.com/p/06d928f509bd
参考链接2、https://developer.aliyun.com/mirror/homebrew
参考链接3、https://zhuanlan.zhihu.com/p/142349349?app=zhihulite
ffmpeg 下载网上m3u8的视频文件相关推荐
- m3u8解析_浅谈m3u8格式视频文件采集
在对某在线视频网站抓包分析时,发现该站点采用m3u8格式进行视频文件传输. 通过m3u8的response可以看到,m3u8格式文件由很多段ts文件组成.那么什么是m3u8,什么是ts呢? M3U8是 ...
- Nginx增加m3u8流视频文件功能模块 推流和拉流
Nginx增加m3u8流视频文件功能模块 推流和拉流 FastDFS分布式文件系统安装和配置_亲测成功 ./configure --prefix=/u06/data/apps/nginx-rtmp \ ...
- 使用FFmpeg将字幕文件集成到视频文件
本文最后更新于:2015-05-25 13:12:00 原文:http://www.yaosansi.com/post/ffmpeg-burn-subtitles-into-video 向视频文件里添 ...
- python 实现多线程下载加密m3u8格式视频,使用FFmpeg合并
如果你要下载的m3u8文件未加密: 请移步:https://blog.csdn.net/s_kangkang_A/article/details/103071822 上次做完了没加密的,再次记一下加密 ...
- m3u8及TS文件下载解密:用FFmpeg解密合并m3u8中ts文件(二)
关于本地文件的m3u8格式 从网站上下载的m3u8文件格式是这样的 如果想用ffmpeg文件在线处理,直接把其中的XXXXXX.ts和key.key文件替换成全路径的就可以,比如这样: 然后直接用ff ...
- 将.m3u8转换为视频文件保存到本地
实现将一直的视频流文件保存到本地,需要 安装ffmpeg 视频流文件地址 使用ffmpeg安装包中的ffplay.exe实现视频的播放: ffplay http://edge.linknetott.s ...
- 使用ffmpeg指令转换出yuv视频文件
播放器播放的都是经过解码后的视频,也就是yuv格式的视频文件,因此在学习的过程中需要准备一下yuv格式的视频做实验素材,这里演示如何在电脑中使用ffmpeg指令将一个视频文件转换为.yuv格式. 1. ...
- 记录利用ffmpeg对录制好的视频文件音量调整
如何对MP4文件的音量进行放大 经常遇到比较苦恼的事情就是拿到一个视频文件,播放的时候即使把音量条设置到最大,音量还是小,这个时候,可以用ffmpeg对文件进行修改,重新生成一个播放音量用软件进行放大 ...
- FFmpeg进阶: 转码输出视频文件中的音频
很多时候为了方便收听视频文件中的音频信息,我们会将视频文件中的音频流转码输出成音频文件,方便在对应的平台上进行播放.这里就介绍一下如何通过FFmpeg将视频文件中的音频流转码成特定编码格式的音频文件. ...
- ffmpeg 下载后缀为.m3u8的视频文件
首先去官网下载FFmpeghttp://ffmpeg.org/ 第一步:进入官网点击图中download 按钮 进入如下页面 第二步点击图中按钮 点击跳转到如下页面,选择图中按钮 下载解压,然后复制b ...
最新文章
- 2021.09 电子学会 - 软件编程(图形化)试题讲解
- 一张“黑洞”需要拍两年?有了它或许就不会让大家等那么久了
- 认真了解一下javascript
- PHP大文件分片上传
- oracle 数据库 触发器 trigger 语法
- 监听网络流量命令——tcpdump
- JS面向对象(二)——构造函数的继承
- 一个关于WCF调用远程链接返回405错误不允许使用此方法的问题
- 消息(6)——WCF,构建简单的WCF服务,MTOM编码
- 品尝Android(二)jQuery Mobile初探
- Maven SCM Release版本控制与发布
- STM32驱动WS2811
- 如何清空c盘只剩系统_c盘怎么清理到最干净只保留系统,教你如何给C盘减肥
- 录制Gif动画的软件-ScreenToGif
- Docker微服务-Mysql主从配置
- 【疑难杂症】Oculus Quest2 手机配对时找不到5-digit-code
- VMware ESXi 6.7 配置iSCSI存储(分流)
- 台湾繁体字和大陆汉语转换
- Docker(一):什么是Docker?
- 二叉排序树的查找、插入、创建和删除
热门文章
- 基于STM32的DMX512开发
- VPP TCP定时器
- 惠普z800工作站bios设置_HP工作站BIOS说明书适用Z228Z440Z230Z640Z840Z800Z620Z420Z820主板设置.doc...
- 安卓模拟器按键_51模拟器app下载|51模拟器 3.2.1.2 最新版
- HiC软件安装篇之Lachesis
- linux 网卡驱动编译安装包,Dell R720 安装debian系统编译网卡驱动
- unity3d烘焙教程 持续更新中【2020】
- Echarts图表没数据的时候,用图片代替暂无数据(图片自适应)
- 网络工程师考试-计算机网络笔记
- 使用Ventoy制作启动盘