资讯专栏INFORMATION COLUMN

网页视频流m3u8/ts视频下载

lemon / 3607人阅读

摘要:现在很多视频网站播放流视频,都不是采用文件直接播放,而是采用这种方式播放。然而,配合播放列表文件,我们可以直接用在线下载播放列表中所有的视频,然后直接用合并为一个视频。

现在很多视频网站播放流视频,都不是采用mp4/flv文件直接播放,而是采用m3u8/ts这种方式播放。

简单说就是,网站后台把视频切片成成百上千个xx.ts文件,一般10秒一个,每个都几百kb很小。然后通过xx.m3u8播放列表把这些文件连接起来。

通过Chrome DevTool的Network栏,我们可以清楚的看到加载过程:

我们直接点击这个playlist.m3u8播放列表文件,在旁边的preview栏中查看内容,可以看到:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:11
#EXTINF:5.250000,
out000.ts
#EXTINF:9.500000,
out001.ts
#EXTINF:8.375000,
out002.ts
#EXTINF:5.375000,
out003.ts
#EXTINF:9.000000,
out004.ts
...........

那我们怎么下载呢?

下载视频所有的ts切片文件

一般的思路是,想办法把所有的ts切片文件下载下来,然后合成一个完整的视频。
然而,配合xx.m3u8播放列表文件,我们可以直接用ffmpeg在线下载播放列表中所有的视频,然后直接用ffmpeg合并为一个视频。

我们就直接执行这一句命令即可:

$ ffmpeg -i  -c copy OUTPUT.mp4
$ ffmpeg -i  -vcodec copy -acodec copy OUTPUT.mp4

# 例如:
ffmpeg -i https://v6.438vip.com/2018/10/17/3JAHPTdvPhQb9LrE/playlist.m3u8 -c copy  OUTPUT.mp4

然后就会看到这样的下载过程:

为什么下载播放列表就能下载所有的切片文件?
因为播放列表里的都是相对路径,既然我们有了播放列表的绝对路径,那么其它所有文件的绝对路径也就不难获取了。
好在ffmpeg直接实现了这种播放列表一键下载的方式。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/34666.html

相关文章

  • M3U8格式分析

    摘要:概述是版本的,用编码。和文件都是苹果公司使用的协议格式的基础。这种格式可以在和等设备播放。本质上是一个播放列表,其中可能是一个媒体播放列表,或者是一个主列表其内部文字使用编码。 概述   M3U8是Unicode版本的M3U,用UTF-8编码。M3UP和M3U8文件都是苹果公司使用的HTTP Live Streaming(HLS)协议格式的基础。这种格式可以在IPhone和Macboo...

    Jensen 评论0 收藏0
  • Web端直接播放 .ts 视频

    摘要:常见方案在网上查找的大部分解决方案都是用诸如等网页播放器,接收索引文件的方式来播放切片。根据实测,只用这一个库即可在端直接播放视频,如下是它的转化流程。 最近项目中需要前端播放 .ts 格式视频,捣鼓了几天学习到很多知识,也发掘了一种优秀的解决方案,分享给有同样需求的同学。 常见方案 在网上查找的大部分解决方案都是用诸如videojs等网页播放器,接收 .m3u8索引文件的方式来播放t...

    mmy123456 评论0 收藏0
  • Web端直接播放 .ts 视频

    摘要:常见方案在网上查找的大部分解决方案都是用诸如等网页播放器,接收索引文件的方式来播放切片。根据实测,只用这一个库即可在端直接播放视频,如下是它的转化流程。 最近项目中需要前端播放 .ts 格式视频,捣鼓了几天学习到很多知识,也发掘了一种优秀的解决方案,分享给有同样需求的同学。 常见方案 在网上查找的大部分解决方案都是用诸如videojs等网页播放器,接收 .m3u8索引文件的方式来播放t...

    sf190404 评论0 收藏0
  • nginx视频直播/点播服务干货分享

    摘要:视频直播点播服务干货分享近年互联网直播业务非常火热。我也研究了下,发现上配置视频直播点播也很容易实现,特分享一下。表示打开点播,会在服务器上生成临时文件的。用苹果设备访问你的就可以看到该直播了。由于兼容性问题,只能在苹果设备上用浏览器访问。 nginx视频直播/点播服务干货分享 近年互联网直播业务非常火热。我也研究了下,发现nginx上配置视频直播点播也很容易实现,特分享一下。一、ub...

    songjz 评论0 收藏0
  • nginx视频直播/点播服务干货分享

    摘要:我也研究了下,发现上配置视频直播点播也很容易实现,特分享一下。表示打开点播,会在服务器上生成临时文件的。用苹果设备访问你的就可以看到该直播了。由于兼容性问题,只能在苹果设备上用浏览器访问。 近年互联网直播业务非常火热。我也研究了下,发现nginx上配置视频直播点播也很容易实现,特分享一下。一、ubuntu14.04安装nginx及nginx_rtmp_module扩展 nginx根据是...

    waltr 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<