高级篇之ENC编码器多机位帧同步配置详解
高级篇之ENC编码器多机位帧同步配置详解
- 一 帧同步方案多样性
- 1. 配合vMIX导播的帧同步方案
- 3. 配合硬件导播的帧同步方案
- 3. 配合芯象导播的帧同步
- 二 帧同步方案1实现步骤
- 1. 准备设备
- 2. 搭建环境
- 3 配置设备
- 3.1 配置固定机位
- 3.2 配置帧同步转发端
- 3.3 配置vMIX
- 三 效果对比
- 1 不开帧同步效果
- 2 打开帧同步效果
- 3 最后来两张芯象效果
- 四 结束语
老铁们,来了,来了,来了,ENC编码器帧同步方案来了,2023年10月末,ENC编码器再次实现了一个历史性突破,全系产品都将支持多机位场景下的帧同步功能。在多机位拍摄的场景中,帧同步是一个必要的功能。 虽然之前ENC设备也可以借助SRT等协议实现帧同步的效果,但是为了让帧同步功能可以应用到更多场景,在本月的更新中我们实现了任意协议(RTSP/RTMP/SRT/NDI/ONVIF)的编码、解码、串流的帧同步功能。你们可以叫它“全协议帧同步”,哈哈。
前段时间,芯象发布了帧同步功能,我们第一时间做 了MP01设备(无线聚合移动直播编码器)适配,在高级编码参数中,将帧同步设置为”芯象",通过芯象导播软件拉取编码器的流即可开启帧同步。
如果还不知道MP01是什么,请进以下链接熟悉产品(或者直接找我了解):
“https://item.taobao.com/item.htm?spm=a21dvs.23580594.0.0.1d293d0dSSEWCW&ft=t&id=732390864303”

这款产品虽然刚刚上市,但绝对不是一个新产品,为了让产品更加稳定可靠,早已将这个产品投放给一些用户体验,并经过了2年左右的大型活动场景考验(比如马拉松,演讲直播等),期间修复了不少bug。如今终于可以稳定可靠的问世了。
除了MP01, 全系产品这个月底至下月初都将支持帧同步,是不是很期待了,哈哈,上几张方案图,让大家先有个整体概念。
一 帧同步方案多样性
为了让设备的利用率达到最大化,就要适应现实存在的各种直播环境,比如vMIX导播,硬件导播、芯象导播,我相信这种多样性肯定是用户的福音,可以大大降低用户的构建成本。
1. 配合vMIX导播的帧同步方案

3. 配合硬件导播的帧同步方案

3. 配合芯象导播的帧同步

看了上面几张图,我相信大家都有了整体概念,就知道如何购置设备搭建环境了,再加上考虑到大多数用户需要编码器配合vMix或硬件切换台使用,下面我就已第1个方案为例,讲解一下如何配置ENC编码器实现多机位帧同步直播。已经有我们设备的,可以直接通过升级固件就可以了。还没有我们设备的,推荐使用ENC1V3作为帧同步解码端,链接如下:“https://item.taobao.com/item.htm?spm=a21dvs.23580594.0.0.1d293d0dWBRufJ&ft=t&id=727851791291”
由于篇幅有限,这里不对MP01移动机位做配置说明,因为移动机位还需要配置聚合服务器,过程有点复杂,有需要的老铁们可以直接联系我。下面就以两个固定机位做配置讲解。
二 帧同步方案1实现步骤
1. 准备设备
固定机位:两台ENC1(A-ENC1和 B-ENC1)
帧同步转发端:一台ENCSH
一台电脑: vMIX导播
假设:
A-ENC1 的IP 是 192.168.1.11
A-ENC1 的IP 是 192.168.1.15
ENCSH 的IP 是 192.168.1.20
说明: 一台ENCSH或者ENC1V3可以转发4路同步帧,因为这里是两机位,所以一台ENCSH足够了,如果需要更多机位(比如超过4路)可以选择我们最大支持8路的ENC5-V2(性价比最高)等其他型号,也可以使用多台ENCSH叠加来实现(NTP服务器会保证时间的一致性)。
注意:实现帧同步的几台编码器,必须开启NTP,并指向相同的NTP服务器。
2. 搭建环境
哈哈,虽然有搭建环境这一步,由于这是高级篇就不多做讲解了,做过直播的应该都知道,拿个交换机或路由器接几根网线的事情,这里略过。这里以局域网为例,如果是设备放到公网,只需要将地址改为公网地址就可以了。
3 配置设备
由于这里主要讲解的是如何配置帧同步,其他配置就不在做说明,其实配置非常so easy。本文中,我们已SRT协议为例,因为SRT协议地址中可以配置延时,这样可以更好的验证帧同步的效果。
关于SRT的详细配置问题可以参考一下另一篇《小白篇之ENC编码器的SRT协议多平台推流配置》
重要说明:
————固定机位编码端的帧同步用芯象或者简易都可以的,接收转发端的帧同步可以自适应。
————接收转发端的帧同步缓冲时间必须大于整体的网络延时,比如用SRT的latency模拟网络延时的话,该缓冲时间就必须大于latency,本例中采用的就是两条SRT流,一个latency=100,一个latency=800,缓冲时间设置成2000,并且转发端无需解码,可以选择转成RTSP或RTMP都行。
————开帧同步的所有编码器,必须开启NTP,并指向相同的NTP服务器。
3.1 配置固定机位
登陆到其中一台编码器后台,比如A-ENC1,另一台配置重复这个步骤即可。
首先进入【系统设置】,打开NTP同步,如下图所示:

然后打开【编码设置】页,选择帧同步类型,目前类型主要包括“芯象”,“简易”两种类型,这里选择“简易”就可以了。

然后进入【编码设置】的【SRT设置】页,打开对应频道的“开关”,点击保存,比如:

为了验证效果,这里人为将两个编码器的延时调成不一致,另一台B-ENC1如下:

打开后频道的拉流地址就是:
A-ENC1: srt://192.168.1.11:9001?mode=caller&latency=100
B-ENC1: srt://192.168.1.15:9001?mode=caller&latency=800
3.2 配置帧同步转发端
帧同步转发端配置就更简单了,首先和3.1一样先配好NTP同步,而且NTP服务器要一致。然后登陆设备后台,进入【编码设置】页的【网络输入】,填入A-ENC1和B-ENC1的拉流地址,将"缓冲模式"改为"帧同步",并打开“开关”,如下图所示:

注意: 这里做帧同步只做转发,不做编解码,无需打开"视频解码"和"音频解码"。
然后进入【编码设置】页的【SRT设置】,打开"Net1"和"Net2"频道的SRT开关,其他参数不用动,如下图:

根据上图的端口显示,得出帧同步后的拉流地址就是:
A-ENC1: srt://192.168.1.20:9004?mode=caller&latency=50
B-ENC1: srt://192.168.1.20:9005?mode=caller&latency=50
到此,ENC设备的帧同步设置就完成了。
3.3 配置vMIX
vMIX我也是初学者,就不做太详细的讲解,只给出两张拉流配置图吧:
A-ENC1机位的拉流:

B-ENC1机位的拉流:

三 效果对比
1 不开帧同步效果

当不打开帧同步时,同步误差在700毫秒左右,而且随着时间的延长,这个误差可能会更大。
2 打开帧同步效果

当打开帧同步后,同步误差可能会在0-1帧左右,正常来说,50毫秒以内都算正常,看来我们的编码器表现还是很优秀的。
3 最后来两张芯象效果


四 结束语
最后要感谢微赞CEO周总的开放心态,让帧同步尽快在直播业廉价崛起,帧同步最早是TVU的卖点,如今在周总的带领下,各大厂家都支持帧同步了,这样让用户极大的降低了使用帧同步的成本。也希望ENC编码器能在直播行业发光发热。
相关文章:
高级篇之ENC编码器多机位帧同步配置详解
高级篇之ENC编码器多机位帧同步配置详解 一 帧同步方案多样性1. 配合vMIX导播的帧同步方案3. 配合硬件导播的帧同步方案3. 配合芯象导播的帧同步 二 帧同步方案1实现步骤1. 准备设备2. 搭建环境3 配置设备3.1 配置固定机位3.2 配置帧同步转发端3.3 配置vMIX 三 效果对比1 不开帧…...
matlab simulink 四旋翼跟拍无人机仿真
1、内容简介 略 7-可以交流、咨询、答疑 2、内容说明 四旋翼跟拍无人机仿真 四旋翼、无人机 需求分析 背景介绍 无人飞行机器人,是无人驾驶且具有一定智能的空中飞行器。这是一种融合了计算机技术、人工智能技术、传感器技术、自动控制技术、新型材料技术、导航…...
jenkins、ant、selenium、testng搭建自动化测试框架
如果在你的理解中自动化测试就是在eclipse里面讲webdriver的包引入,然后写一些测试脚本,这就是你所说的自动化测试,其实这个还不能算是真正的自动化测试,你见过每次需要运行的时候还需要打开eclipse然后去选择运行文件吗ÿ…...
【阅读和学习代码】VoxelNet
文章目录 将点特征 转换为 voxel 特征稀疏张量 到 稠密张量,反向索引参考博客 将点特征 转换为 voxel 特征 https://github.com/skyhehe123/VoxelNet-pytorch/blob/master/data/kitti.py 【Python】np.unique() 介绍与使用 self.T : # maxiumum numbe…...
【23种设计模式】接口隔离原则
个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…...
【Python机器学习】零基础掌握PartialDependenceDisplay检验、检查
如何更好地理解模型对特定特征的依赖性?如何使用历史数据来预测明天股票市场的走势? 想象一下,作为一名数据分析师,面对海量的数据,如何准确地预测明天股票市场的走势?这是一个复杂且具有挑战性的问题。但别担心,有一种神奇的工具可以帮助解析模型对各种因素(特征)的…...
Jmeter的接口自动化测试
在去年实施了一年的三端(PC、无线M站、无线APP【Android、IOS】)后,今年7月份开始,我们开始进行接口自动化的实施,目前已完成了整个框架的搭建以及接口的持续测试集成。今天做个简单的分享。 在开始自动化投入前&#…...
windows c++获取开机启动项
#include <iostream> #include <Windows.h> #include <string> #define RUN_LOCATION "Software\\Microsoft\\Windows\\CurrentVersion\\Run" int main() { HKEY hKey; LONG result; // 打开注册表键 result = RegOpenKeyExA(HKEY_CU…...
【C++初阶】类和对象——构造函数析构函数拷贝构造函数
个人主页点击直达:小白不是程序媛 C系列专栏:C头疼记 目录 前言 类的6个默认成员函数 构造函数 概念 构造函数的特性 析构函数 概念 析构函数特性 拷贝构造函数 概念 拷贝构造函数特性 总结 前言 上篇文章我们对于C中的类有了初步的认识和…...
Java实现SQL分页
在日常开发需要对数据进行分页,配置如下 <!-- baomidou --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.0</version></dependency> 在控…...
软件测试进阶篇----自动化测试脚本开发
自动化测试脚本开发 一、自动化测试用例开发 1、用例设计需要注意的点 2、设计一条测试用例 二、脚本开发过程中的技术 1、线性脚本开发 2、模块化脚本开发(封装线性代码到方法或者类中。在需要的地方进行调用) 3、关键字驱动开发:selen…...
rust std
目录 一,std基本数据结构 1,std::option 2,std::result 二,std容器 1,vector 三,std算法 1,排序 2,二分 (1)vector二分 (2)…...
SpringMVC(下)
1、拦截器: 1、拦截器的配置: SpringMVC中的拦截器用于拦截控制器方法的执行 SpringMVC中的拦截器需要实现HandlerInterceptor <!--配置拦截器--><mvc:interceptors><!--对所有的请求进行拦截--><!--<bean class"com.songzhishu.m…...
分布式操作系统的必要性及重要性
总有人在各个平台留言或者私信问LAXCUS分布式操作系统的各种问题,尤其是关于分布式操作系统的应用市场、价值、意义之类的问题。我们团队做LAXCUS分布式操作系统,也不是头脑凭空发热,是基于我们之前的大量产品设计、经验逐渐一步步做起来。当…...
【Javascript】定时器
目录 延迟执行 定时执行 清除定时任务 延迟执行 setTimeout(function(){}, 毫秒) console.log(1); console.log(2); console.log(3); setTimeout(function (){console.log(5) },5000) console.log(4);setTimeout(function (){ console.log(5) },5000) 设定了一个任务&…...
基于stm32的ADC读取烟雾报警器的数值
本文想要设计一个设计一个有stm32控制的烟雾报警系统。通过MQ-2烟雾报警器将获取模拟的数值传递给stm32的ADC外设并在串口助手上显示对应的电压值。烟雾报警器浓度越高,他的电压就越高,但是不会超过3.3V。设置一个电压临界值,当传输回来的电压…...
无需更换vue-cli 脚手架 uniapp-搭建项目-H5-低版本安卓IOS兼容问题(白屏)(接口请求异常)
✨求关注~ 💻博客:www.protaos.com I. 简介 A. UniApp项目概述 B. 白屏和接口请求异常问题的背景 II. 白屏问题 A. 问题描述 1、uniapp 打包H5内嵌入APP内、低版本手机系统访问白屏问题 B. 问题根本原因 1、低版本手机系统 自带的webview内核不支持ES6语…...
【IO面试题 四】、介绍一下Java的序列化与反序列化
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:介绍一下Java的序列化与…...
M1本地部署Stable Diffusion
下载安装 参考博客: 在Mac上部署Stable Diffusion(超详细,AI 绘画入门保姆级教程) 安装需要的依赖库 brew install cmake protobuf rust python3.10 git wget 可能中途会存在下载报错或者下载卡主的问题,需要切国内源 brew进行替换源: …...
java中的内存分配
目录 1.堆内存 2.栈内存 3.常量池 4.寄存器 5.示例 6.总结 1.堆内存 堆用来存放程序中动态生产的数据,如new出来的对象。 通过new方式创建的对象,数组及字符串都有自己的内存地址。 方法调用完毕后,方法中new出来的对象就会变成垃圾…...
Claude Code 进行“从头重写”的项目 Claw Code全面介绍(claw-code)
一个对泄露的 Claude Code 进行“从头重写”的项目,已成为 GitHub 上增长最快的仓库。一、项目是什么 claw-code(仓库全名写作 Rewriting Project Claw Code)是一个围绕「智能体 Harness( harness:把模型、工具、会话与…...
Windows HEIC缩略图扩展:让苹果照片在PC上清晰呈现
Windows HEIC缩略图扩展:让苹果照片在PC上清晰呈现 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 问题场景…...
如何快速掌握Bloaty输出分析:VM SIZE与FILE SIZE完整指南
如何快速掌握Bloaty输出分析:VM SIZE与FILE SIZE完整指南 【免费下载链接】bloaty Bloaty: a size profiler for binaries 项目地址: https://gitcode.com/gh_mirrors/bl/bloaty Bloaty是一款强大的二进制文件大小分析工具,能够帮助开发者深入了解…...
PE结构 --->8.PE对齐的概念 文件对齐VS磁盘对齐
目录 PE结构中对齐概念详解 原理 磁盘文件对齐(File Alignment, 0x200): 内存对齐(Section Alignment, 0x1000): 关系与CPU页管理: 详细步骤:PE文件加载到内存的对齐过程 读取…...
Git 仓库搬家后,如何让本地仓库“认新家”?——小白也能看懂的远程地址修改指南
Git 仓库搬家后,如何让本地仓库“认新家”?——小白也能看懂的远程地址修改指南 一句话总结:当你的 Git 仓库迁移到新地址后,只需更新本地仓库的“通讯录”,并告诉 Git “以后默认推送到新家”,即可无缝切换…...
Oracle EBS 资产类别是 真正的树形层级结构(通过弹性域实现父子关系),而 SAP 资产类别(Asset Class)是 扁平结构(无系统内置层级)
Oracle EBS 资产类别是 真正的树形层级结构(通过弹性域实现父子关系),而 SAP 资产类别(Asset Class)是 扁平结构(无系统内置层级)。下面通过详细原理、实例、配置、报表四个维度彻底对比分析。一…...
Qwen3-4B多语言能力体验:生成英文、日文内容的实际效果
Qwen3-4B多语言能力体验:生成英文、日文内容的实际效果 1. 引言 当我们需要一个能理解并生成多种语言的AI助手时,往往面临一个选择:是使用多个单一语言模型,还是寻找一个真正的多语言通才?前者切换麻烦,后者…...
告别重复配置!用VirtualBox的OVA/OVF功能5分钟克隆Ubuntu 20.04服务器环境
5分钟掌握VirtualBox环境克隆术:Ubuntu 20.04标准化部署实战 在团队协作或教育培训场景中,最令人头疼的莫过于每台设备重复配置开发环境。上周我们团队新入职的三名工程师,花了整整两天时间才完成基础环境搭建——直到发现VirtualBox的OVA/OV…...
TensorFlow开发中用到的一些第三方库
本节介绍下后面开发要用到的辅助库,并做一些简单的代码实例和效果演示,当然我们都是为了最终目标TensorFlow开发做准备的,用到的也是这些库的简单的api,这里做简单的介绍为后面TensorFlow开发做准备,对于这些库的深入研…...
OpenClaw飞书机器人实战:Qwen2.5-VL-7B多模态对话配置
OpenClaw飞书机器人实战:Qwen2.5-VL-7B多模态对话配置 1. 为什么选择OpenClaw飞书Qwen2.5-VL组合 去年我们团队内部沟通量激增,每天在飞书群里有数百条消息需要处理——从产品需求讨论到技术方案评审,再到会议纪要整理。最头疼的是那些包含…...
