首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何修改HLS视频流的ts切片时长

我们在一个医疗行业视频直播服务的项目中了解到,该项目采用EasyDSS直播服务,系统对接中,因为获取的录像时长始终不能准确定位到秒,要么多几秒、要么少几秒,一直很苦恼,于是找到了我们寻找解决办法。...EasyDSS做录像存储采用的是切片存储的方式,即是HLS切片方式,存储录像文件如下图所示,一个索引文件m3u8,加一堆ts切片文件。...因为采用切片方式存储,所以必然会带来误差,比如用户请求时间正好是跨两个切片中间,就会出现上述用户反馈的情况,这是必然的。...但是我们可以通过设置切片时长大小来缓解这种问题的出现,当然切片时长也不是设置的越小越好,因为设置的越小再做切这个动作的时候又非常消耗CPU,所以建议用户可以根据自己服务器的配置来选择设置这个切片时长的大小

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    M3U8 格式:为什么直播回放都用这个格式?丨音视频基础

    接下来,我们看到有 3 个资源切片时长分别是 9.009 秒、9.009 秒、3.003 秒。 在点播时,客户端首先下载 M3U8 文件,然后按照 M3U8 列表下载各个资源切片依次播放即可。...一个媒体播放列表的时长等于它包含的所有媒体切片时长的总和。 每个媒体切片的码率等于切片的大小除以它的时长。...一个媒体播放列表的平均码率是所有切片的大小之和(单位:bit)除以播放列表的时长。...EXTINF,表示其后媒体切片时长(单位为秒)。每个媒体切片之前必须指定该标签。...EXT-X-TARGETDURATION,表示所有媒体切片的最大时长,单位是秒。这个标签是必填的。EXTINF 所指定的各个切片时长必须不大于这个时长,否则会出现播放卡顿或播放错误。

    4.2K30

    m3u8 文件格式简解

    m3u8 文件格式详解 M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码。"...客户端依据该 m3u8 文件即可获取对应的媒体资源,进行播放。 因此,客户端获取 HLS 流文件,主要就是对 m3u8 文件进行解析操作。 那么,下面就简单介绍下 m3u8 文件。...媒体播放列表(Media Playlist)的流资源总时长就是各切片资源的时长之和。 每个切片的码率(bit rate)就是切片的大小除以它对应的时长(EXTINF 指定的时长)。...EXT-X-TARGETDURATION 指定的时长绝对不能进行更改。通常该值指定的时长为 10 秒。...EXT-X-MEDIA-SEQUENCE 标签必须出现在播放列表第一个切片之前。 EXT-X-DISCONTINUITY-DEQUENCE 标签必须出现在播放列表第一个切片之前。

    4.5K30

    HLS 协议:直播回放首选这个协议?丨音视频基础

    对于 HLS 直播,相对于常见的流媒体直播协议,例如 RTMP 协议、RTSP 协议等,HLS 最大的不同在于直播客户端获取到的并不是一个完整的数据流,而是连续的、短时长的媒体文件(如 MPEG-TS...由于数据通过 HTTP 协议传输,所以完全不用考虑防火墙或者代理的问题,而且分段文件的时长很短,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放。...HLS 协议的实现是和 M3U8 文件的定义密切相关的,这部分的知识在《M3U8 格式》中已经做了详细介绍。在这里只简单介绍一下 HLS 协议的整体框架。...在这个过程中,MPEG-2 的数据流会被处理为一系列连续的小切片文件(.ts)存储在 Web 服务器上,同时服务器会生成一个索引文件对这些切片文件进行索引,并将这个索引文件发布出去。...客户端请求和读取该索引文件,并请求和获取其中的切片文件从而获得对应的媒体资源数据来进行处理和展示。

    1.4K20

    多媒体文件格式剖析:M3U8

    分片的序列号,一般情况下是0,但是在直播场景下,这个序列号标识直播段的起始位置; #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-TARGETDURATION 每个分片TS的最大的时长...; #EXT-X-TARGETDURATION:10 每个分片的最大时长是 10s #EXT-X-ALLOW-CACHE 是否允许cache; #EXT-X-ALLOW-CACHE...extra info,分片TS的信息,如时长,带宽等;一般情况下是 #EXTINF:,[] 后面可以跟着其他的信息,逗号之前是当前分片的ts时长,分片时长 移动要小于...#EXT-X-TARGETDURATION 定义的值; #EXT-X-VERSION M3U8版本号 #EXT-X-DISCONTINUITY 该标签表明其前一个切片与下一个切片之间存在中断...'#EXT-X-DISCONTINUITY' 该标签表明其前一个切片与下一个切片之间存在中断。

    6.4K31

    EasyDSS获取指定时间录像m3u8播放地址兼容iOS平台吗?

    M3U8文件是一个记录索引的纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放。...TSINGSEE青犀视频EasyDSS直播点播系统支持调用m3u8播放地址进行二次开发或者集成。...目前在m3u8地址上仍存在的问题是,调用获取指定时间录像的m3u8播放地址用苹果手机进行播放,会出现黑屏无法播放的问题,但是其他平台并无该问题。所以这个成为我们亟待解决的问题。...经过研发的分析,应该是后台在生成新的m3u8文件出现了问题,新的m3u8文件对内容不是很严谨,其中在统计播放时长的那个参数一开始并没有统计,导致iOS系统在识别的时候出现问题。...因此我们从代码中对最大ts切片时长和总时长进行统计,将数据写到对应的m3u8参数中。

    57640

    HLS直播协议详解

    首先我们先使用 ffmepg 对一段视频文件进行切片,视频所在路径:D:\Work\test 切片命令行如下: ffmpeg -i SampleVideo_1280x720_20mb.mp4 -...-hls_time 5: 设置HLS(HTTP Live Streaming)分段的时长为5秒。这将影响生成的.m3u8文件中每个.ts分段文件的时长。...在切片过程中,CPU 利用率飙升,这属于正常现象 切片后,可以在目录下看到下面的文件,ffmpeg 将源视频文件切成了 23 个子文件和一个 index.m3u8 文件 上面先有个基本的概念...这里是 3,那么这里用的就是 HLS 协议第三个版本,此标签只能有 0 或 1 个, 不写代表使用版本 1 EXT-X-TARGETDURATION 所有切片的最大时长,有些 Apple 设备这个参数不正确会无法播放...EXT-X-MEDIA-SEQUENCE 切片的开始序号。每一个切片都有唯一的序号,相邻之间序号+1。这个编号会继续增长,保证流的连续性。 EXTINF ts 切片的实际时长

    1.4K10

    TSINGSEE青犀视频Easy系列视频平台是如何输出HLS流的?HLS协议详解

    那么,下面就简单介绍下 m3u8 文件。...M3U8中包含基础标签: EXTM3U:表明该文件是一个 m3u8 文件,每个 m3u8 文件必须将该标签放置在第一行。...该标签为全局作用域,使能整个 m3u8 文件;每个 m3u8 文件内最多只能出现一个该标签定义。如果 m3u8 文件不包含该标签,则默认为协议的第一个版本。...EXTINF:表示其后 URL 指定的媒体片段时长(单位为秒)。每个 URL 媒体片段之前必须指定该标签,其值必须小于或等于 EXT-X-TARGETDURATION 指定的值。...如果大家对我们的ts切片感兴趣,可以回顾一下我们之前写过的ts切片大小设置。视频相关解决方案均可访问TSINGSEE青犀视频,如有需求或疑问,欢迎随时联系我们!

    99840

    什么是HLS(HTTP Live Streaming)?

    一个视频可以被分割成多个视频切片,这些切片的传送位置和顺序在一组被称为播放列表的XML文件中,该文件以文件扩展名m3u8结尾。人们可以使用兼容了HLS的播放器播放视频。...当客户端发起请求时,HLS服务器需要提供的文件是播放列表(m3u8文件),以及实际的A/V内容(TS切片或者 fMP4)。...EXTINF:该标签指定媒体切片的持续时长。后面应该接续相关媒体切片的URI(必须如此)。你应该确保EXTINF的值小于或者等于它所指的媒体文件的实际时长。 HLS的最小切片时长是多少?...早些时候,Apple会推荐使用10秒切片时长(EXTINF)值来打包视频,但现在已经越来越少见。...如果你已经打包的切片时长是10秒的视频,然后需要缓冲3个切片,这样即使在视频还没开始播放的情况下,你就需要去下载150 Mbit(5 mbps * 10 seconds * 3个视频切片)或者18.75MB

    3.8K31

    《FFmpeg从入门到精通》读书笔记(二)

    track的信息,track是多媒体文件中可以独立操作的媒体单位,例如一个音频流或一个视频流就是一个track (3)解析mvhd子容器 参数列表 (书 P66) 解析出视频的基本信息,包括尺寸、类型、时长...Note:音频时长可通过Duration / TimeScale的方式来计算。...:M3U8直播时的直播切片序列,当播放打开M3U8时,以这个标签的值为参考,播放对应序列号的切片 客户端播放M3U8的标准还有更多规则: 分片必须是动态改变的,序列不能相同,且序列必须是增序的...:M3U8列表中每一个分片的duration,还包含其他信息,主要为标注切片信息 EXT-X-STREAM-INF:主要出现在多级M3U8文件中,例如不同清晰度 FFmpeg转HLS参数 FFmpeg...-c copy -f hls -start_number 300 output.m3u8 2.hls_time参数 设置M3U8列表中切片的duration;该切片规则是从关键帧开始切片,时间不均匀;如果先转码再切片

    3K30

    使用ffmpeg将视频转成HLS(m3u8)格式

    HLS (HTTP Live Streaming)是苹果推出的视频流协议,HLS格式的视频包含一个m3u8文本文件,以及众多的.ts的视频片段,而m3u8文本文件的作用就是将这些ts片段索引起来。...今天我在这里教大家如何用ffmpeg将mp4格式的视频转为HLS(m3u8)格式。   ...  这里用到了几个参数,作用分别如下: 参数 作用 -i 指定输入的文件名 -c:v 指定视频的编码格式,copy的意思是复用原始视频的编码信息,不重新编码 -hls_time 指定切分的ts文件时长...,单位秒 -hls_segment_filename ts文件的命名格式 -f 指定输出的文件格式,实测这个参数可以省略   这里有个坑,当我用上面命令行生成hls视频后,我发现每个ts的时长不是我指定的...查阅资料后发现,ts切片的大小严格依赖于原始视频的GOP大小,因为必选保证一个ts内至少包含一个GOP,否则这个ts分片就无法使用。

    27010

    视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等

    使用HLS协议播放视频时:首先会请求一个M3U8文件,如果是点播只需要在初始化时获取一次就可以拿到所有的TS切片指向,但如果是直播的话就需要不停地轮询M3U8文件,获取新的TS切片。...获取到M3U8后:我们可以看一下里面的内容。首先开头是一些通用描述信息,比如第一个分片序列号、片段最大时长和总时长等,接下来就是具体TS对应的地址列表。...如果是直播,那么每次请求M3U8文件里面的TS列表都会随着最新的直播切片更新,从而达到直播流播放的效果。...比如我们一个M3U8有5个TS文件,每个TS文件播放时长是2秒,那么一个M3U8文件的播放时长就是10秒,也就是说这个M3U8播放的直播进度至少是10秒之前的,这对于直播场景来说是一个比较大的弊端。...首先从延时角度考虑:不考虑云端转码以及上下行的消耗,HLS和MPEG-DASH通过将切片时长减短,延时在10秒左右;RTMP和FLV理论上延时相当,在2-3秒。

    5K43
    领券