技术文章
-
使用WebSocket+WebRTC+nodejs搭建多人视频会议在线直播
无论身处何地,只要有视频应用我们就能与朋友见面。那我们为什么不试着定制一款自己的会议应用,让会话变得更加真实呢? 话不多说,我们直接开始吧! 基于需求,视频会议应具备以下功能: 创…
-
虚拟直播实现流程(多人连麦直播互动为例)
虚拟直播既可以实现单人视频直播,也可以邀请观众上麦、进行多人连麦互动。 虚拟直播场景的直播分为两个阶段: 虚拟直播架构设计 虚拟直播场景的主要架构如下图所示(以多人连麦直播互动为例…
-
虚拟直播Demo(体验APP源码)运行指引
虚拟直播场景为元宇宙社交娱乐模式下的全新直播方式,虚拟形象替代真人出镜,打造不一样的直播体验,支持表情随动、手势识别触发特效等多种玩法;同时场景支持多位虚拟形象视频连麦互动,更容易…
-
webrtc的H265播放
在抽出空余的时间,经过两周编写,终于把服务端与web端代码写好。后面再优化一下,应该满足基本使用。基本原理是服务端通过SCTP封包(与rtp差不多,只不过封包方式不一样而已,整个逻…
-
ffprobe的输出格式:json、csv和xml
ffprobe拥有很多信息输出格式选项,你可以在默认格式(如我们在前例中看到的)、json、csv、xml、flat和ini输出格式中选择。 选择输出格式非常简单,在命令行中使用p…
-
如何使用ffprobe提取关于流、数据包、帧和容器格式的信息?
如你所知,ffprobe能够提供输入视频的每个流、数据包和帧的大量相关信息。为了获取这些信息,你必须执行下列命令: 1. 获取每个流的信息:-show_streams 2. 获取容…
-
使用 ffprobe 提取帧数(视频中的帧数)
在本快速教程中,我们将教您如何使用 ffprobe 提取视频中的帧数(帧计数),ffprobe 是使用FFmpeg视频处理库编写的实用程序。要了解有关这些工具的更多信息,请浏览ff…
-
ffprobe是什么(7 个ffprobe示例教程)
ffprobe是什么 在我的视频处理工具箱里,ffprobe有着非常重要的地位!在FFmpeg库中,ffprobe堪称视频信息提取或视频检测的“瑞士军刀”。 下面是FFmpeg文档…
-
如何实现一个简单的虚拟形象系统
前言 上周启动居家开会的时候,看到有人通过「虚拟形象」功能,给自己带上了口罩、眼镜之类,于是想到了是不是也可以搞一个简单的虚拟形象系统。 大致想来,分为以下几个部分: 卷积神经网络…
-
硬件转码器与软件转码器综合指南
转码器的选择是您在成立流媒体公司时需要做出的重大决定。转码器对于视频流和降低成本(编码、CDN、存储)、提高视频质量、提供更少的每像素位数以及使您的内容对最终用户来说看起来很棒! …
-
使用 FFmpeg overlay 滤镜实现画中画效果
在常规的视频图像编辑处理场景中,画中画是必不可少的一个功能,而 FFmpeg 的 overlay 滤镜通过进行参数设置就可以轻松地达到画中画效果,下面就详细讲解…
-
使用 FFmpeg 为视频添加文字并带角度旋转
如何通过Drawtext给视频画上文字,并且能够给文字旋转个角度,比如30度角?本文将重点介绍一下利用FFmpeg如何做到这样的效果,首先看一下效果图: 这样的效果操作原理比较简单…
-
GPUImage是什么?OpenGL GPUImage 源码分析
GPUImage 是 iOS 上一个基于 OpenGL 进行图像处理的开源框架,后来有人借鉴它的想法实现了一个 Android 版本的 GPUImage ,本文也主要对 Andro…
-
音频属性之声道、采样率、采样位数、样本格式、比特率【建议收藏】
不仅限于FFmpeg, 音频采样所得的PCM都含有三个要素:声道(channel)、采样率(sample rate)、样本格式(sample format)。 声道 当人听到声音时…
-
语音识别系列之基于CTC的VAD
语音活动性检测(Voice Activity Dection, VAD)常作为语音识别系统的前端模块过滤非语音段,为后续增强模块提供语音/非语音判据,从而更好的掌握背景噪声特性,进…
-
屏幕内容视频编码的基于哈希的运动估计技术
本文将介绍适用于屏幕内容视频编码的基于哈希的运动估计技术。 屏幕内容用来泛指非相机捕获的视频内容,典型的由计算机生成的文字、图像、动画等。屏幕内容在信号特性上和对人类视觉系统感知上…
-
FFmpeg实现将音频声音变细或变粗
在做录音机磁带倒带或者磁带受潮的时候,音频的声音会变得特别细或者特别粗,主要因素还是播放的时候采样被改变所致,下面来看一下用ffmpeg如何实现对应的效果。 通常单设置采样率时是无…
-
FFmpeg实现用一个音频覆盖另一个音频某个区域
本文重点介绍用FFmpeg实现使用一段音频覆盖另一段音频的某个区域的功能,大概示意图如下: 要实现这样的效果,分析后主要需要以下步骤: 将音频A的30s拆分成三段: 需要播放出来的…
-
OpenGL 之 EGL 使用实践
OpenGL 是跨平台的、专业的图形编程接口,而接口的实现是由厂商来完成的。 而当我们使用这组接口完成绘制之后,要把结果显示在屏幕上,就要用到 EGL 来完成这…
-
Android MediaCodec 硬编码 H264 文件
在 Android 4.1 版本提供了 MediaCodec 接口来访问设备的编解码器,不同于 FFmpeg 的软件编解码,它采用的是硬件编解码能力,因此在速度上会比软解更具有优势…