摘要:本文需要读者对H.264流有一定的了解才可以理解2种格式差异。 首先要理解的是没有标准的H.264基本流格式。文档中的确包含了一个Annex,特别是描述了一种可能的格式Annex B格式,但是这个并不是一个必须要求的格式。标准文档中指定了视频怎样编码成独立的包,但是这些包是怎样存储和传输的却是开放的
阅读全文
随笔分类 - 音视频、流媒体
摘要:rtmp 自己有三次握手,tcp有三次握手 一个建立连接完成,要9 次会话的来回,才能完成建连接 移动互联网,用手机比较难 rtmp 完全依赖于 tcp 不能提供带宽自适应算法 quic vs srt 都可以 有ack 有ack的ack 有nack 基于时间报文发送和接收 rtt inflight
阅读全文
摘要:虽然我群里天天在炸这点事最近。我觉得你们也不是很急着我发这玩意。发了其实也没啥人看。呵呵…但还是说说吧。手机写的 尽量说清楚。 首先 先来介绍最原始的方式…Video标签。 就HTML里写一个标签video 告诉它你的视频地址就能播放了~是不是很神奇?但是有一些限制: 1.不是所有的封装格式都支持。
阅读全文
摘要:文章目录 引言 问题 解决方案 3.1 方案1:开发自己的浏览器 3.2 方案2:前端JS解码+canvas显示 3.3 方案3:前端WebAssembly转码+video显示 3.4 方案4:前端WebAssembly解码+canvas显示 3.5 总结 相关资料 参考资料 引言 项目要求在浏览器
阅读全文
摘要:本文主要描述音视频同步原理,及常见的音视频同步方案,并以代码示例,展示如何以音频的播放时长为基准,将视频同步到音频上以实现视音频的同步播放。内容如下: 1.音视频同步简单介绍 2.DTS和PTS简介 2.1I/P/B帧 2.2时间戳DTS、PTS 3.常用同步策略 4.音视频同步简单示例代码 1.音
阅读全文
摘要:1. Simulcast 客户端上传多分辨率,多码率,由SFU来决定数据类型下发。 2. ABR(Adaptive Bitrate Streaming) 直播上行自适应码率 当有超过1W的观众在直播时,WebRTC里simulcast支持的3种上行已经很难满足多样性要求。 3. SVC(Scalab
阅读全文
摘要:现有的前端视频帧提取主要是基于 canvas + video 标签的方式,在用户本地选取视频文件后,将本地文件转为 ObjectUrl 后设置到 video 标签的 src 属性中,再通过 canvas 的 drawImage 接口提取出当前时刻的视频帧。 受限于浏览器支持的视频编码格式,即使是支持
阅读全文
摘要:WebAssembly 技术简介 近几年,WebAssembly 技术非常火,可以说是成为了 JavaScript 一个新的转折点。JavaScript 自 1995 年诞生之日起,其性能问题就被大家诟病。直到 2008 年,很多浏览器加入了即时编译器,JavaScript 也开始引入 JITs,再
阅读全文
摘要:作为 H.264 的后继产品,HEVC/H.265 是一种高级视频压缩标准,能够节省 50%的比特率,带来惊人的视觉质量。例如,在 Converter 的 DivX HEVC 配置文件中编码的视频,不仅保持了 DivX Plus 配置文件的高质量,文件还更小。即使在拥挤的网络环境中,HEVC 对于传
阅读全文
摘要:文章目录 相似点 痛点 1. P2P 2、回声消除 3、网页客户端 优点 1. P2P 2、回声消除 3、chrome浏览器免插件访问音视频 难点 1. 设计场景差异 2、部分优秀功能不适用 3、资源投入大 4、webrtc不支持h265编解码 5、对嵌入式不友好 解决方案 结语 相似点 webrt
阅读全文
摘要:eb端是无法直接播放rtsp流的,目前常用的解决方案是如jsmpeg、flv.js等。这些方案都是要推送流到服务端,之后才能在web上播放视频,相对比较麻烦。我采用websocket结合mse的方式,实现了一个websocket网关,及其对应的js播放器,在这里做下说明,具体代码参考github上我
阅读全文
摘要:随着直播行业的快速发展,直播带货秒杀和在线教育答题等应用场景对直播延时的要求越来越严苛。今天的技术解码就由费伟老师为大家带来腾讯云在快直播方面的一些分享! 随着直播行业的快速发展,特别是在今年疫情的影响下,各种低延时的直播场景得到了爆发性发展。最典型的应用就是直播带货秒杀和在线教育答题。这些应用场景
阅读全文
摘要:问题背景: 无论是实时视频监控还是直播点播等应用场景,最起码的一个操作就是播放视频。其中最基本的思路就是利用OS的API在PC开发桌面应用、在移动端开发Native App,目前这种技术已经成熟,大厂小厂都是这么做的,但是缺点也很明显:开发比较费时费力,需要IOS开发一遍再去Android开发一遍。
阅读全文
摘要:H5视频播放器内核的开发对于前端工程师来说算是一个比较少涉足的领域,恰好工作中有所研究,分享出来给感兴趣的同学。简单的说,播放器内核的功能类似于一个video标签,它负责视频资源的解封装、解码和播放。 视频播放器架构 图1 视频播放器架构 一个典型的现代播放器可以分为三个部分:UI、多媒体引擎和解码
阅读全文
摘要:FMP4概念 fmp4,是适应于现代浏览器的一种流媒体格式。和mp4格式不同的是,以往的mp4格式化也分为header信息和payload信息,一个大的mp4就会有一个很大的头信息,不适合与现在的网络环境。所以新的fmp4格式就出现了,fmp4格式有一个带了metadata的头片段,及后面一序列的f
阅读全文
摘要:web端是无法直接播放rtsp流的,目前常用的解决方案是如jsmpeg、flv.js等。这些方案都是要推送流到服务端,之后才能在web上播放视频,相对比较麻烦。我采用websocket结合mse的方式,实现了一个websocket网关,及其对应的js播放器,在这里做下说明,具体代码参考github上
阅读全文
摘要:FargmentMP4是一种特殊的MP4,这边他的特点及格式,不再详细说明 ,网上资料不少可以进行参考。 这边说下基于FFMPEG封装aac及h264为FargmentMP4的步骤: 关键代码: 1、创建两个输入对象和一个输出对象并打开。 AVFormatContext *ifmt_ctx_v =
阅读全文
摘要:当前为了满足比较火热的移动 Web 端直播需求, 一系列的 HTML5 直播技术迅速的发展了起来. 常见的可用于 HTML5 的直播技术有 HLS, WebSocket 与 WebRTC. 今天我要向大家介绍一下 WebSocket 与 MSE 相关的内容, 并在最后通过一个实际的例子, 来展示其具
阅读全文
摘要:有没有那么一种可能,在前端页面处理音视频?例如用户选择一个视频,然后支持他设置视频的任意一帧作为封面,就不用把整一个视频上传到后端处理了。经过笔者的一番摸索,基本实现了这个功能,一个完整的demo:ffmpeg wasm截取视频帧功能: 支持mp4/mov/mkv/avi等文件。 基本的思想是这样的
阅读全文