技术文章
-
在 iOS 上使用 FFmpegKit 采集实时摄像机和音频流
在多媒体处理领域,FFmpeg 是一款功能强大、用途广泛的工具。对于希望在其应用程序中利用 FFmpeg 功能的 iOS 开发人员来说,FFmpegKit 提供了一个方便的封装器。…
-
如何通过 Asterisk 集成手机卫星通话
将手机卫星通话集成到 Asterisk 系统中,实际上是将Asterisk与卫星通信服务提供商的网络接口相连接,以便通过Asterisk进行呼叫管理和路由,最终实现与通过卫星网络通…
-
在 Go 中实现 WebSocket(go语言websocket)
您是否曾在 Web 应用程序或移动应用程序中创建过具有聊天功能的应用程序?如果开发的是一个简单的应用程序,您可能会使用 Firebase 中的实时数据库。但您是否考虑过无需任何第三…
-
Meta:通过机器学习优化 RTC 带宽估计
本文分享来自 Meta 的工程师采用一种基于机器学习 (ML) 的方法,能够跨层全面解决网络问题,如 BWE(带宽估计)、网络弹性和传输。作者: Santhosh Sunderra…
-
学习 WebRTC 的最佳工具和 Demo
在这篇文章中,作者 Vadim Beskrovnov 将分享对实际理解 WebRTC 至关重要的关键工具、演示应用程序和开放项目。本文将不提供有关 WebRTC 任何部分的教程或详…
-
AnyMAL:一种高效、可拓展的任意模态增强语言模型
这篇文章介绍了一种名为AnyMAL的高效、可扩展的任意模态增强语言模型。AnyMAL是一个统一的模型,能够处理多种输入模态信号(例如文本、图像、视频、音频、惯性测量单元和运动传感器…
-
适用 Node 的 8 个最佳 WebSocket 库
作为一名开发人员,选择合适的 WebSocket Node 库以集成到您的实时应用程序项目中可能是必须的一个经历。您会面临很多选择,这些库提供了不同的功能和特性,可帮助您构建可扩展…
-
使用 Go 和 Vue.js 构建实时聊天应用程序
在本教程中,我们将介绍如何构建一个简单而有效的实时聊天应用程序。该应用程序使用 Go 编程语言处理服务器端逻辑,使用 Vue.js 处理前端,使用 Gorilla WebSocke…
-
什么是 HLS 和 LL-HLS?HLS 和 LL-HLS 之间的区别
在视频流传输过程中,减少延迟或延时对于确保流畅的观看体验至关重要。因此,高效的流媒体协议对于最大限度地减少延迟至关重要。虽然 HTTP Live Streaming(HLS)协议以…
-
Linux环境给FFmpeg集成libopus和libvpx
视频的封装格式除了古老的MP4和ASF之外,还有较新的WebM格式,该格式的音频编码主要采用Opus,视频编码采用VP8或者VP9。其中Opus的编解码库为libopus,VP8和…
-
基于 WebRTC 的远程控制
一直想做一个远程控制软件,最近小群也看到在聊这个。于是花了四五天搞了一个demo。原理如下如: 把远程桌面映射到本地桌面,在本地可以直接操作远程电脑。PC1为本地电脑,PC2为远…
-
CHiME-8多通道远场语音识别Baseline介绍
语音领域每年都有很多比赛,每个比赛都有自己的侧重点,其中CHiME系列比赛的侧重点就是多通道远场语音识别,与其他的语音识别比赛有所区别的是,CHiME提供分布式麦克风和麦克风阵列数…
-
音视频面试题集锦第 19 期 | 读取纹理数据
今天分享来自音视频技术社群关键帧的音视频开发圈整理的第 19 期音视频面试题集锦。 下面是第 19 期面试题精选,我们来介绍几种在 Android 开发中读取纹理数据的方法: 1、…
-
ffmpeg6.0从demux_decode.c源码探索解封装流程
在播放器的播放视频、音视频媒体文件的推流等实际应用中,解封装(demux)这个操作是不可避免的,也是最基础的操作。 拿播放器播放MP4来说,如果想实现播放器视频画面的播放和音频声音…
-
WebRTC 架构的优点与局限性
WebRTC(Web Real-Time Communication)是谷歌开发的一种开源协议,所有主流浏览器都支持它,因此无需第三方音频和视频流插件。 不过,我们必须明白,虽然 …
-
HTTP/3 和 QUIC:如何维护 Connection ID
我们将继续见证连接维护方式的快速改进。其中一个关键改进在于 HTTP/3、QUIC 协议的实现,以及它如何维护连接 ID。在本文中,我们将探讨这些主题,重点介绍在 5G 到 Wi-…
-
自研流媒体协议探索与实践
本文《自研流媒体协议探索与实践》来自B站流媒体技术部——B站内部端到端的直播流媒体技术研发团队,为B站直播量身打造了高性能、高性价比的流媒体服务体系。 背景 自从我站从2020年逐…
-
WebRTC 拥塞控制之 AIMD 码率控制
网络带宽的检测过程以及在该过程中产生三种信号:overuse、normal、underuse。本文将介绍这三种信号如何驱动码率控制器工作,这个过程涉及到:三种码率控制状态(incr…
-
FFmpeg在Android上读取文件的方法
随着Android系统对文件访问权限的收紧,很多时候,不能再通过文件路径来访问文件。Android上使用FFmpeg,具体而言,使用libavformat访问本地文件,如何实现呢?…
-
Reparo: 用于视频会议的无损生成编解码器
视频会议中常常受到网络丢包的影响,导致视频质量下降甚至视频冻结。传统解决方案如重传丢失的数据包在实时应用中往往不切实际。采用前向纠错(FEC)技术恢复丢失的包具有挑战性,因为很难设…