首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏coding个人笔记

    rtmp、m3u8直播小记

    最近项目做跟视频有关的,一个是直播,一个是播放视频。使用video标签。视频直播有很多协议,rtmp、rtsp、hls等就自己去了解,业务有做到就会了解一些。 公司经过软硬件测试,发现目前公司使用rtmp流直播延迟是最小的,rtmp需要flash,chrom在今年年底要完全禁止flash,不像现在是默认禁止还能允许。 移动端使用的是m3u8直播,需要安装一个新的依赖:videojs-contrib-hls 测试了一下,必须要有 播放页使用: import videojs from 'video.js' import video-js.css' import 'videojs-contrib-hls' 原本老版本直接切换src就可以了,连videojs都没用,不知道为什么这个版本不行,于是跟PC方法一样,只是type对于m3u8 期间还有另外的一些问题,现在也重现不了,主要是有些问题也不知道为什么就解决了,m3u8和mp4还会出现跨域问题,我这边是nginx加允许头header。

    6.4K30发布于 2020-04-24
  • 来自专栏smy

    video.js支持m3u8格式直播

    PC端浏览器并不支持video直接播放m3u8格式的视频 2. DOCTYPE html> <html> <head> <title>videojs支持hls直播实例</title> <link href="./video.css? } },3000) } </script> </body> </html> 源码请移步github: videojs支持hls<em>直播</em>实例

    12.8K130发布于 2018-04-03
  • 来自专栏喵喵学前端

    如何手动停止 videojs 直播视频流 m3u8 请求?

    每当视频开始播放,视频流m3u8 会不断请求,即便是暂停了播放,这个请求也不会终止。大量的请求会导致页面卡顿,长此以往会带来性能问题,导致浏览器卡死甚至崩溃。 Videojs Removing Players 其实我个人觉得,这个方法的操作 2 的特性非常不好,这样导致关闭后组件直接被销毁,导致下次触发视频弹窗(业务需求是点击百度地图图例,出现弹窗播放视频直播流 参考 vue使用videojs控制后台m3u8数据请求 - bomdeyada - 博客园 我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

    1.8K22编辑于 2024-06-10
  • 来自专栏m3u8相关

    m3u8格式在直播场景中的应用

    以下是M3U8直播中的主要应用方式:实现实时流媒体分片在直播过程中,持续的视频流会被切割成一系列短暂的媒体分片(如TS文件)。M3U8文件则作为索引,动态更新并记录这些分片的播放顺序与网络地址。 播放器通过不断解析该文件,即可按序获取并播放分片,从而实现直播内容的无缝观看。支持自适应码率调整M3U8文件可以同时包含同一直播内容、但不同分辨率与比特率的多个分片序列。 从PC上的网页浏览器到智能手机、平板电脑乃至智能电视,几乎所有现代设备都能直接支持M3U8格式的直播流,极大地扩展了直播内容的覆盖范围。 提供灵活的延迟控制通过调整M3U8文件中媒体分片的长度、数量或播放器的缓冲策略,可以对直播流的端到端延迟进行有效控制。 这使得直播服务提供商能够在实时性和播放稳定性之间取得平衡,以满足不同场景下对延迟的特定需求。实现多码率直播传输利用M3U8文件,直播平台可以轻松地发布同一路直播信号的多个码率版本。

    78010编辑于 2025-10-12
  • 来自专栏PUSDN平行宇宙软件开发者网

    最新版videoJS使用播放M3U8格式直播 视频

    300" class="video-js vjs-default-skin vjs-big-play-centered" poster=""> <source src="<em>M3U8</em>

    2.1K20编辑于 2023-10-11
  • 来自专栏关键帧Keyframe

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

    在实际应用场景中,由于 HLS/M3U8/TS 这套方案在控制直播延时上不太理想,所以一般实时直播场景不会选择使用 M3U8 媒体格式。 但是,对于直播回放这种场景,由于使用 M3U8/TS 这套方案能够在直播过程中就持续生成和存储切片,所以直播回放基本上都会选择 M3U8 媒体格式。 在点播时,客户端首先下载 M3U8 文件,然后按照 M3U8 列表下载各个资源切片依次播放即可。在直播时,客户端则需要定时重新请求 M3U8 文件,从而检查是否有新的媒体切片需要进行下载播放。 3)一个直播播放列表: 直播过程中某个时间点的 M3U8 文件内容: #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:8 #EXT-X-MEDIA-SEQUENCE 直播播放列表是一个会动态更新的 M3U8 文件,服务端会对直播流进行实时转码生成直播流切片,并定期更新 M3U8 文件。这个 M3U8 文件一般为会包括 3-5 个切片。

    6.3K31编辑于 2022-06-13
  • 来自专栏音视频技术

    Apple 低延迟HLS分析

    为了将10-30的延迟降低到2秒以下,苹果提出了5点改进 减少片段发布延迟 优化片段发现机制 消除片段请求时间 m3u8采用增量升级机制 加速不同码率直播流切换速度 下面针对每个改进做一个介绍 减少片段发布延迟 _HLS_msn=1803 上述请求表示当直播流中出现1803的ts的时候,停止阻塞,返回m3u8内容。 _HLS_msn=1803&_HLS_part=0&_HLS_push=1 上述请求表示当直播流中出现1803的第一部分(_HLS_part=0)的时候就停止阻塞,返回m3u8内容。 这个功能在一些场合比较有用,有些直播流允许用户往前回看一段时间,所以它们的m3u8文件会很大,上百K都有可能。使用增量更新机制能极大减小传输量。 加速不同码率直播流切换速度 最后一个,加速不同码率直播流切换速度的实现方案是在m3u8的最后带上EXT-X-RENDITION-REPORT,告诉客户端其它码率直播流的当前进展(片段序号和part序号)

    5K63发布于 2019-07-01
  • 来自专栏TSINGSEE青犀视频

    EasyDSS开启虚拟直播无法显示视频流跟TS文件有什么关系?

    EasyDSS视频平台观看视频推流直播不需要安装插件,网页直接即可播放,通过浏览器进入平台即可进行配置,对用户来说,便捷可控,无需另行搭建服务器,具有很大的优势。 EasyDSS开启虚拟直播,使用ffmpeg转码的m3u8文件作为直播源时,部分直播无法播放视频。 于是查看源文件MP4是否也没有视频,结果MP4源文件是正常的,所以我们确定到是m3u8文件问题,查看ts文件时,发现无视频流信息。 ffmpeg命令MP4转m3u8: ffmpeg -i Cx8J6oM7R.mp4 -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 2 -hls_time

    87510发布于 2021-08-12
  • 来自专栏流媒体音视频

    FFmpeg输出hls时ts切片和m3u8索引动态更新解读

    前言众所周知,FFmpeg输出hls时,m3u8索引文件是在不断动态更新的,每当新的ts切片生成,就会更新一次m3u8文件。 当输入流结束时添加 #EXT-X-ENDLIST 结束标记,但如果是直播流的话,不会加这个标识,只有点播 m3u8 文件才有。 2、hls_list_size控制播放列表的窗口大小,也就是 .m3u8 中有多少个 ts 切片。 6、#EXT-X-ENDLIST标识播放列表结束,不再更新,直播场景中没有,但是点播场景中必须有。四、主要方法对应上面的主要过程,我们来看一下底层的代码。 的关键步骤和主要方法,其逻辑清晰,涉及 init、header、packet、trailer、deinit 五个阶段,实现了高度可扩展的 hls 生成能力,既能处理点播文件转换,也能支持高并发场景下的直播

    1.2K10编辑于 2025-07-13
  • 来自专栏海之滨云视频和流媒体技术

    HTTP Live Streaming直播(iOS直播)技术分析与实现

    其功能是采集摄像头与麦克风,实时进行H.264视频编码和AAC音频编码,并按照HLS的协议规范,生成分段的标准TS文件以及m3u8索引文件。 相对于常见的流媒体直播协议,例如RTMP协议、RTSP协议、MMS协议等,HLS直播最大的不同在于,直播客户端获取到的,并不是一个完整的数据流。 ,就实现了直播。 HLS分段生成策略和m3u8    1. 2. m3u8文件简介   m3u8,是HTTP Live Streaming直播的索引文件。m3u8基本上可以认为就是.m3u格式文件,区别在于,m3u8文件使用UTF-8字符编码。

    3.8K90发布于 2018-05-11
  • 来自专栏全栈前端精选

    如何开发一款 H5 小程序直播

    如果还停留在对ES6,Vue这些基本技能的学习只能说处于一个及格线。 如果只会ES6,Vue,React, Webpack这只能算是前端,大前端是至少要掌握上面的一项技能的。这篇文章就是介绍大前端领域中的视频直播。 因为M3U8是一个索引文件,他会被解析成很多的.ts片段,每一个片段就是一个直播流的分段。 浏览器的video标签在某个时间会再次请求m3u8,获取新的直播流片段,这样就实现了直播的实时播放,而发送这个m3u8的请求是浏览器自主的行为。 动态列表主要用于直播的过程中,全量列表多用于点播,也就是录播。m3u8的响应结果就是一个文本文件。 ?

    4.4K20发布于 2021-01-14
  • 来自专栏直播那些事儿

    关于h5直播源码的技术扫盲

    尤其强化了web网页的表现性能,通过h5技术搭建的直播系统不仅能够在网页实现高清流畅播放,还能加入很多的交互功能。下面,我们就针对h5直播源码做一些技术扫盲。 这些预定的引擎配置为h5直播源码提供了强悍的技术基础。不过,WebRTC只是应用于视频录制,视频播放还得需要HLS的支持。 timg.jpg 二、什么是HLS协议?.m3u8是干啥用的? 每一个.m3u8文件,分别对应若干个ts文件,这些ts文件才是真正存放视频的数据,m3u8文件只是存放了一些ts文件的配置信息和相关路径,当视频播放时,.m3u8是动态改变的,video标签会解析这个文件 3、客户端解析.m3u8的播放列表,再按序请求每一段的url,从而获取ts数据流。 三、直播延迟往往不可避免 前面提到,HLS协议是将直播流分成一段一段的视频去下载播放的。 以上就是关于h5直播源码的一些技术扫盲点。

    2.3K20发布于 2020-03-11
  • 来自专栏若尘的技术专栏

    Nginx+FFmpeg打造自己的视频直播服务

    引言 现在很多项目都有视频实时播放的功能需求,例如监控,直播等,原始的摄像头采集的视频流协议一般都是 rtsp 协议,在旧版的浏览器中使用 FLASH 可以支撑其进行播放,但是现在各大主流浏览器都关闭了对 48.101 libavformat 57. 40.101 / 57. 40.101 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 46.102 / 6. 46.102 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 nginx version: nginx/1.18.0 built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) built with OpenSSL 1.0.1f 6 索引文件,m3u8其实就是ts文件的索引,ffmpeg会把一个直播源的数据分割成很多个ts文件,访问m3u8可以获取ts文件的播放顺序,逐个播放,ts文件达到一定数量会自动删除前面无用的ts,并且如果ffmpeg

    6.5K74发布于 2021-11-24
  • 来自专栏视频加密

    M3u8或者ts协议的直播流视频如何通过加密防止盗链和盗播?

    其实除了这些还有就是对视频流加密,这种在视频点播中使用的比较多,但在直播中也可实现,即对版权方给的ts或者说m3u8格式的视频进行加密处理,对内容进行帧加密,加密后只能在允许的APP中播放,即使下载到其他 整个使用流程如下: 1、部署流媒体系统,在对版权方给的直播视频流进行中转的时候就直接开启加密功能,自动对视频流进行加密处理,加密后直接给出频道地址。

    2.7K20发布于 2021-02-25
  • 来自专栏EasyNVR

    安防互联网直播服务中为什么HTML5目前还没有实时的低延迟视频流协议?

    我们最常见的流媒体协议的RTMP协议,在网络和硬件正常好的情况下,延迟可以达到1-3s左右,它也是目前主流视频直播中最常见的协议,像我们的安防流媒体服务器也支持这种协议的视频流输出。 ? 苹果公司开放了HLS协议,这种协议在h5中不需要插件即可进行播放,解决了在h5页面中直播的问题。 4、只能支持拉流,不支持推流 H5中播放直播的场景主要是,以ios、安卓为主要平台,分享到第三方应用中,通过hls协议拉流,来为app引流。 此外,要想做到HLS小于3秒的延时,理论上是可以的,这需要看你ts分片的大小,和一个m3u8存储多少个ts的分片的索引。 如果一个m3u8存储6个ts的分片索引,每个分片为5s,那么就起码有30s的延时。只要把分片的时长减少,比如减少到250ms每个分片,一个m3u8只存储一个ts分片,那么理论延时就只有250ms。

    1.1K10发布于 2020-04-22
  • 来自专栏腾讯Bugly的专栏

    HTML 5 视频直播一站式扫盲

    视频直播这么火,再不学就 out 了。 为了紧跟潮流,本文将向大家介绍一下视频直播中的基本流程和主要的技术点,包括但不限于前端技术。 1. H5 到底能不能做视频直播? 简单讲就是把整个流分成一个个小的,基于 HTTP 的文件来下载,每次只下载一些,前面提到了用于 H5 播放直播视频时引入的一个 .m3u8 的文件,这个文件就是基于 HLS 协议,存放视频流元数据的文件 每一个 .m3u8 文件,分别对应若干个 ts 文件,这些 ts 文件才是真正存放视频的数据,m3u8 文件只是存放了一些 ts 文件的配置信息和相关路径,当视频播放时,.m3u8 是动态改变的,video HLS 的请求流程是: 1 http 请求 m3u8 的 url。 2 服务端返回一个 m3u8 的播放列表,这个播放列表是实时更新的,一般一次给出5段数据的 url。 6. 前面提到的 ffmpeg 是什么?

    5.4K81发布于 2018-03-23
  • 来自专栏geekfly

    如何下载企业微信上课直播回放

    一、标题官方渠道 直播时开启了直播回放,在15天到期的时候,直播发起人会收到消息提醒,在windows系统的企业微信客户端,可直接点击消息下载回放。 打开观看直播回放页面,点击检查元素 这一步也可以点击右上角,在浏览器中的打开,然后企业微信扫码即可。 浏览器需为Chrome等支持开发者工具的。 3. 找到m3u8地址 在元素标签下,搜索m3u8,找到形如http://1253731777.vod2.myqcloud.com/cd68bb45vodbj1253731777/af7d63c33701925925248622605 下载 使用m3u8下载器下载上述Url地址即可 这里有一个可以在线下载m3u8地址的网站: m3u8 downloader 输入地址后,点击“转码Mp4下载”即可,等所有片段都下载完,浏览器会自动弹出文件保存

    7.3K50编辑于 2022-04-24
  • 来自专栏TSINGSEE青犀视频

    EasyDSS多路视频合成一个视频流时如何解决卡顿、内容丢失等问题?

    而现有的MP4合成逻辑也是通过生成的m3u8制作,所以也会影响MP4文件的最终效果。 为了更快的实现MP4和m3u8播放文件的生成,新的模式是独立生成MP4和m3u8文件,MP4的生成不再依赖m3u8文件,直接通过ts录像文件切片生成。 同样的m3u8文件的生成规则也有直接将符合条件的ts文件信息写入改成了,由ffmpeg重新对符合条件的文件进行编辑生成新的ts文件和m3u8文件。 Ts转MP4 Ffmpeg命令参数: Ts转m3u8 Ffmpeg命令参数: EasyDSS能够获得众多开发者的青睐,主要优势包括以下几点: 1、接收RTMP直播流,并且转成HLS、FLV、RTMP 等协议流进行第三方调用及播放; 2、EasyDSS内设立了虚拟直播的功能,可以将其他视频流转成直播流,并分享给第三方系统; 3、支持自行上传视频文件,并通过点播的方式播放; 4、平台内设角色管理、用户管理

    1.1K30发布于 2021-08-06
  • 来自专栏码上就说

    多媒体文件格式剖析:M3U8

    这是HLS应用在直播上的一大优势。 如果在直播中使用HLS技术,那么执行流程如下:图片来源于苹果官网; 我们播放一个HLS,首先要对HLS流对应的M3U8文件进行解析,解析M3U8文件,首先要搞清楚M3U8的封装格式。 M3U8格式解析 HLS流可以用于直播,也可以用于点播;这点很重要,开头的那张图千万别让你误会,M3U8是可以用作点播的。 r=52 ,请求回来存储在本地; 3.如何判断M3U8是否直播 1.判断是否存在 #EXT-X-ENDLIST 对于一个M3U8文件,如果结尾不存在 #EXT-X-ENDLIST,那么一定是 直播,不是点播 如果源文件为FLV、TS等可以作为直播传输流的视频,则不需要这个参数。 这也非常强烈地说明了MP4不是流式文件,不能作为直播使用。

    8.5K31发布于 2020-12-11
  • 来自专栏知识分享

    3-视频传输,监控,直播方案-网页端播放视频流(RTMP,HLS,m3u8)

    (测试m3u8) 在播放地址对话框输入自己的 xxx.m3u8数据流路径 我的是 http://116.62.178.48/hls/yang.m3u8 (这个根据自己的写哈,不记得的看上一节那个VLC拉流软件里面的地址是怎么写的

    1.1K10发布于 2021-12-01
领券