怎么从视频地址中截取视频片段?

2019-12-23 10:35:45 +08:00
 1596384882

从一个从视频中获取到 m3u8 地址,怎样从这个地址中截取一段视频而不用下载完整的视频

3312 次点击
所在节点    问与答
16 条回复
b821025551b
2019-12-23 10:47:27 +08:00
需要看 m3u8 里面的内容,如果是一堆文件片段,自己选时间点分别解析拼接就好;如果是直播流,没办法。
1596384882
2019-12-23 12:04:54 +08:00
@b821025551b 感觉有点麻烦哈哈哈
kimiler
2019-12-23 12:08:25 +08:00
m3u8 文件里是许多 ts 文件,你把你想要的 ts 下载下来是否是你想要的。
1596384882
2019-12-23 12:14:01 +08:00
@kimiler 那怎么判断视频片段对应的 ts 文件应该是哪一部分
ss098
2019-12-23 12:39:30 +08:00
将 ffmpeg 的输入设为这个 m3u8 然后截取指定片段试试?

m3u8 文件里面有描述 ts 文件的时间长度,是可以判断某个时刻属于哪个部分的。
kimiler
2019-12-23 12:40:00 +08:00
@1596384882 有标记的,你打开 m3u8 文件可以看到
1596384882
2019-12-23 13:13:45 +08:00
@kimiler 好滴好滴
HTSdTt3WygdgQQGe
2019-12-23 13:15:39 +08:00
把所有切片文件下载下来,删除不需要的,用 ffmpeg 合并剩下的
1596384882
2019-12-23 13:15:45 +08:00
@ss098 好滴我试试
HTSdTt3WygdgQQGe
2019-12-23 13:16:26 +08:00
或者自己做一个 m3u8 文件,只保留需要的 ts
1596384882
2019-12-23 13:18:35 +08:00
@q409640976 这个方法感觉比整个视频下载再剪切还麻烦 0.0
byfar
2019-12-23 13:31:27 +08:00
最简单的方法还是全部下载,然后截取。

m3u8 是一个配置文件,里面包含了所有段的实际地址。要想只下载部分,那只有解析配置文件,找到需要的分片列表,下载过来后再合并。
fengbjhqs
2019-12-23 14:04:43 +08:00
播放这个文件,打开浏览器开发中工具,拖动到你要剪切的地方,在网络标签下面就会看见当前正在加载的文件,记下来, 然后编辑 m3u8 文件就对了
hu8245
2019-12-23 14:26:46 +08:00
除非了自己写个程序 parse 一下 m3u8,然后 setPos 开始下载。能这样搞还不如 F12 XHR 里拿试试
ji39
2019-12-23 14:27:14 +08:00
自己计算,根据一个 ts 的时间,这个时间是固定的,算出所需时间所在的 ts 文件 url
bigmama
2019-12-23 17:27:29 +08:00
直接录屏啊。。。方便多了
我用的是 oCam

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/631410

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX