如何简单粗暴的下载m3u8视频并转换为mp4格式

m3u8文件介绍

M3U(Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator)这种文件格式是音视频文件的列表文件,是纯文本文件。你下载下来打开它,播放软件并不是播放它,而是根据它的记录找到网络地址进行在线播放。m3u8就是以utf-8编码的m3u文件

打开m3u8文件可以看到像下面这样

复制代码
 1 #EXTM3U
 2 #EXT-X-VERSION:3
 3 #EXT-X-MEDIA-SEQUENCE:11785
 4 #EXT-X-TARGETDURATION:11
 5 #EXTINF:10.560,
 6 cctv1_2md/1602814775_5190881.ts
 7 #EXTINF:10.560,
 8 cctv1_2md/1602814786_5190882.ts
 9 #EXTINF:10.880,
10 cctv1_2md/1602814797_5190883.ts
11 #EXTINF:10.880,
12 cctv1_2md/1602814808_5190884.ts
13 #EXTINF:10.560,
14 cctv1_2md/1602814818_5190885.ts

每个字段含义如下:

复制代码
1 #EXTM3U //必需,表示一个扩展的m3u文件
2 #EXT-X-VERSION:3 //hls的协议版本号,暗示媒体流的兼容性
3 #EXT-X-MEDIA-SEQUENCE:xx //首个分段的sequence number
4 #EXT-X-ALLOW-CACHE:NO //是否缓存
5 #EXT-X-TARGETDURATION:5 //每个视频分段最大的时长(单位秒)
6 #EXT-X-DISCONTINUITY //表示换编码
7 #EXTINF:<duration> //每个切片的时长

2021.06.10补充

复制代码
 1 #EXT-X-STREAM-INF:RESOLUTION=1920x1080,FRAME-RATE=30,CODECS="avc1.640028,mp4a.40.2" 
 2 https://xxx.com/index.m3u8
 3 格式
 4 #EXT-X-STREAM-INF:<attribute-list>
 5  <URI>
 6 
 7 说明
 8 #EXT-X-STREAM-INF:代表不同的播放流,
 9 后面是属性列表,如上面的FRAME-RATE=30
10 下面一行是链接地址

转换成mp4的方法

需要借助ffmpeg(在最初的时候,我是自已下载好所有的分片文件,然后再用ffmpeg去合并,后面才发现ffmpeg还提供下载功能,这确实省心不少)

ffmpeg官网只提供源码,不提供编译好的版本。但有三方提供的编译好的二进制文件。

下载链接:

https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z

https://myfreetime.cn/software/ffmpeg-4.3.1-2020-10-01-full_build.zip

下载完成后解压,执行命令行程序ffmpeg.exe,运行以下命令

复制代码
1 ffmpeg.exe -i http://xxx.com/test.m3u8 D:\output.mp4

life runs on code

相关推荐
EasyCVR3 小时前
智能守护校园:视频汇聚平台EasyCVR如何构建校园消防安全新防线
音视频
mortimer9 小时前
一键实现人声伴奏分离:基于 `uv`, `FFmpeg` 和 `audio-separator` 的高效解决方案
python·ffmpeg·音视频开发
加油201910 小时前
音视频处理(三):hls协议和m3u8详解和视频下载爬虫实战
爬虫·音视频·hls·m3u8·mpeg-2·mpeg2-ts·电视迷
音视频牛哥11 小时前
从 SmartMediaKit 设计探讨音视频工程师的面试与能力评估框架
程序人生·职场和发展·音视频·rtsp播放器·rtmp播放器·音视频工程师面试·音视频程序员面试题
18538162800航12 小时前
短视频矩阵系统搭建指南:源码部署与全流程解析
线性代数·矩阵·音视频
美摄科技12 小时前
AR短视频SDK,打造差异化竞争壁垒
ar·音视频
sunly_12 小时前
Flutter:视频预览功能
javascript·flutter·音视频
热爱编程的小白白12 小时前
IPIDEA海外代理助力-Youtube视频AI领域选题数据获取实践
人工智能·音视频
骄傲的心别枯萎18 小时前
RV1126 NO.40:OPENCV图形计算面积、弧长API讲解
人工智能·opencv·计算机视觉·音视频·rv1126
撬动未来的支点1 天前
【音视频】MP4文件格式
音视频