自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

www_dong的博客

探寻——代码之上

  • 博客(749)
  • 收藏
  • 关注

原创 计算机视觉(二):视觉的处理流程

计算机视觉的处理流程是一个从数据到知识的转化过程,它经历了从数据采集、预处理,到特征提取、模型构建,最终到评估优化的完整闭环。得益于深度学习的飞速发展,CV技术在效率、精度和自动化方面展现出巨大优势。然而,我们也必须清醒地认识到其在数据依赖、鲁棒性、可解释性和伦理隐私等方面的挑战。未来的计算机视觉将更加注重数据高效学习模型可解释性和鲁棒性的提升,同时,如何在技术发展与社会责任之间找到平衡,将是该领域持续健康发展的关键。

2025-08-20 21:18:43 640

原创 计算机视觉(一):nvidia与cuda介绍

CUDA 架构是 NVIDIA GPU 的底层硬件设计,核心目标是支持大规模并行计算。

2025-08-17 22:40:20 1077

原创 音视频学习(五十四):基于ffmpeg实现音频重采样

音频重采样指的是将音频数据的采样率从一个值转换到另一个值。

2025-08-16 21:05:35 834

原创 音视频学习(五十三):音频重采样

音频重采样(sample rate conversion, SRC)是把采样率从Fs_in变换为Fs_out的过程。常见场景有格式转换(44.1→48 kHz)、采样率匹配(播放链路统一采样率)、以及通信中语音采样率升降(8 kHz ↔ 16 kHz)等。

2025-08-11 23:10:15 484

原创 音视频学习(五十二):ADTS

ADTS 是AAC 裸流的帧封装格式,适合流式播放。帧头信息提供了解码所需的全部参数。在网络传输中,解码器只需找到同步字并解析帧头,就能从任意位置开始播放。

2025-08-10 23:09:46 592

原创 音视频学习(五十一):AAC编码器

总的来说,AAC编码器通过结合先进的心理声学模型和时频变换技术,成功地在音质、压缩效率和功能性上超越了其前身MP3。它的多样化配置(LC, HE, xHE)使其能够适应从高品质音乐到极低比特率流媒体的各种场景。尽管MP3由于其历史悠久而拥有广泛的兼容性,但AAC编码器凭借其卓越的性能,已成为现代数字音频领域的主流和首选。

2025-08-10 22:22:33 433

原创 音视频学习(五十):音频无损压缩

音频无损压缩是一种在不损失任何原始音频信息的前提下,减小音频文件大小的技术。它与有损压缩(如MP3、AAC)不同,后者通过删除人耳听不见的音频信息来大幅压缩文件,但会导致音质下降。无损压缩的目标是在保持原始音频质量的同时,尽可能地提高存储效率。

2025-08-03 21:40:27 993

原创 音视频学习(四十九):音频有损压缩

音频有损压缩是一种通过牺牲部分音频数据以显著减少文件大小的编码技术,广泛应用于音乐流媒体、视频音轨、语音通信和便携设备存储。相较于无损压缩(如FLAC),有损压缩在保证可接受音质的同时大幅降低数据量,适合网络传输和存储受限场景。

2025-08-03 21:07:34 820

原创 音视频学习(四十八):PCM和WAV

音频采样率(Sampling Rate)是指在模数转换过程中,每秒对模拟音频信号采样的次数,单位为赫兹(Hz)或千赫兹(kHz)。例如,44.1kHz的采样率表示每秒采集44,100个样本。采样率决定了数字音频在时间轴上的分辨率,直接影响重现信号的频率范围和音质。

2025-08-02 15:14:35 1186

原创 音视频学习(四十七):模数转换

模数转换作为模拟世界与数字世界之间的桥梁,在现代电子系统中扮演着不可或缺的角色。通过采样、量化和编码三个步骤,ADC实现了模拟信号到数字信号的转换。其性能受分辨率、采样率、信噪比等参数的制约,不同类型的ADC(如逐次逼近型、闪型、Σ-Δ型)适用于不同的应用场景。

2025-08-02 15:13:36 793

原创 音视频学习(四十六):声音的三要素

音调是人耳对声音频率高低的主观感受。当声波频率较高时,人们会感觉声音“尖锐”“高亢”;频率较低时,声音“低沉”“浑厚”。正常人耳可感知的频率范围为20 Hz 至 20,000 Hz(20 kHz),这一区间称为可听声频带。男性说话声频率范围多为 85–180 Hz,女性多为 165–255 Hz。乐器中,小提琴可达几千 Hz,低音提琴则在几百 Hz 以下。响度是人耳对声音强弱程度的感知,是对声压大小的主观描述。响度不仅取决于声波的振幅(物理量),还受听觉敏感度、频率分布与持续时间影响。

2025-08-02 15:12:05 1097

原创 音视频学习(四十五):声音的产生

*声音的产生是一条跨域能量变换链:**机械振动或气动扰动——> 压力波在介质中传播——> 感受器接收并神经编码。无论是钟声、引擎轰鸣,还是数字音乐,只要能在一定频率范围内有效耦合介质并形成可感知的压强扰动,就能称之为“声”。

2025-08-02 15:11:04 782

原创 音视频学习(四十四):音频处理流程

音频处理是一个从物理振动到数字表示,再到智能理解和最终回放的完整闭环。它涉及信号处理、数学、计算机科学和人耳听觉心理学的交叉学科知识。从麦克风的物理捕捉,到ADC的数字化,再到复杂的特征提取和深度学习模型,每一个环节都扮演着不可或缺的角色,共同构成了这个将无形的声音世界变得可计算、可理解、可操控的过程。

2025-08-02 15:09:02 1069

原创 WebRTC(十四):WebRTC源码编译与管理

参数名说明示例值is_debug是否为 Debug 构建truefalse是否编译测试代码false(生产时建议关闭)启用 H264 支持true(需额外引入 openh264/ffmpeg)启用 protobuf 支持(部分 API 需要)true是否使用组件构建(生成多个动态库)false(一般推荐falseuse_rtti启用 RTTI(运行时类型识别)true(如你需要 C++ RTTI)使用自定义 libc++(通常用于 macOS/iOS)falsetarget_cpu架构目标。

2025-07-29 20:32:51 946

原创 音视频学习(四十三):H264无损压缩

H.264的无损压缩并非通过一个独立的“无损模式”来实现,而是**通过在编码过程中禁用或绕过有损量化步骤,并结合其高效的熵编码工具来实现数据的完美重构。**这意味着编码器不会丢弃任何原始像素信息。避免量化: 有损压缩的关键在于量化,它通过将变换后的系数舍入到离散值来丢弃信息。在无损模式下,这个量化步骤被禁用,或者使用非常小的量化步长,从而确保所有变换系数都被精确保留。

2025-07-23 22:06:33 900

原创 音视频学习(四十二):H264帧间压缩技术

H.264 的帧间压缩技术是其成为高效视频编码标准的基石。通过引入多参考帧预测、可变块大小运动补偿、四分之一像素精度、加权预测、增强的双向预测以及运动矢量预测等一系列创新,H.264 在其诞生之初就将视频压缩效率提升到了一个前所未有的水平。在相同视觉质量下,比 MPEG-2 节省 50% 以上的比特率。适应各种复杂的视频内容,从静止场景到快速运动。支持从标清到高清,甚至超高清的视频分辨率。

2025-07-21 20:59:49 1001

原创 音视频学习(四十一):H264帧内压缩技术

块划分:原始图像帧首先被划分为宏块(16x16)和子宏块(如4x4、8x8等)。帧内预测:对于当前正在编码的图像块,编码器会根据其上方和左侧(已经编码并重建的)相邻像素,使用多种帧内预测模式(如垂直、水平、直流、对角线等)生成一个预测块。计算残差:将原始图像块的每一个像素值减去对应位置上预测块的像素值,从而得到一个残差块。这个残差块通常包含了图像中预测失败的细节和纹理信息。例如,如果原始块中的某个像素是150,而预测值是148,那么残差值就是 150−148=2。

2025-07-20 22:42:28 948 2

原创 音视频学习(四十):H264码流结构

包装 VCL 数据,使之可传输于不同网络或容器(如 MP4、TS、RTP)每个视频片段(如 SPS、PPS、Slice)都包装为一个 NAL 单元:必须为 0:表示当前 NAL 单元对参考帧的影响(0:不参考,1~3:参考)1:非 IDR 的 slice5:IDR(关键帧)slice6:SEI(补充增强信息)7:SPS(序列参数集)8:PPS(图像参数集)9:AUD(访问单元分隔符)名称全称作用SODB实际编码数据的比特流(不含对齐或防竞争码)RBSP。

2025-07-19 17:25:26 829

原创 音视频学习(三十九):IDR帧和I帧

构成,每一帧图像可由一个或多个 NAL 单元组成。

2025-07-15 22:37:07 530

原创 音视频学习(三十八):像素与位深

属性像素(Pixel)位深(Bit Depth)含义图像的最小单元每个颜色通道的位数单位个bit(比特)控制什么图像/视频尺寸每像素能表示的颜色精度示例1920×1080相关术语分辨率、采样率、像素格式色彩深度、HDR、采样位宽。

2025-07-13 22:09:31 714

原创 音视频学习(三十七):pts和dts

模块推荐时间基备注视频编码器{1, fps}如 25fps ={1, 25}音频编码器如 48kHz ={1, 48000}视频流封装{1, 1000}单位为毫秒,通用适配性好音频流封装{1, 1000}同上MPEG TS 封装{1, 90000}对应 MPEG 时间基时间戳转换函数必须用于编码→封装间的换算。

2025-07-13 21:33:05 1043

原创 音视频学习(三十六):websocket协议总结

是一种将 MP4 文件分割成小段(fragments)的格式。每个分段都包含独立的音视频数据,并且可以独立解码和播放。当与 WebSocket 结合时,WebSocket-fMP4 意味着通过 WebSocket 连接传输分段的 MP4 数据。的特点,仍在一些直播场景中被广泛使用,尤其是在基于 WebSocket 的实时传输中。是服务器根据客户端的 key 生成的 SHA1+Base64 值,防止伪造连接。和魔法字符串计算得到的 SHA1 后 Base64 值,用于验证合法性。是服务端基于客户端的。

2025-07-05 08:55:08 973

原创 centos7下源码编译ffmpeg时报错ERROR opus not found using pkg-config问题修复

配置ffmpeg。

2025-07-02 21:42:20 242

原创 WebRTC(十三):信令服务器

WebRTC 本身只处理媒体流的。WebRTC 的 PeerConnection 建立流程,需要两端完成。

2025-06-29 22:52:24 631

原创 WebRTC(十二):DTLS

DTLS(Datagram Transport Layer Security)是WebRTC 不直接用 DTLS 传输音视频,而是通过它协商出密钥后,用于 SRTP/SRTCP 加密 RTP/RTCP 流。

2025-06-28 21:28:24 1385

原创 WebRTC(十一):RTCP和SRTCP

RTCP 是 RTP 的控制协议,,并与 RTP 一起工作。RTP 用于传输媒体数据(如音视频),RTCP 则用于传输控制信息。RTCP 通常和 RTP,并通过。

2025-06-28 21:05:08 1189

原创 WebRTC(十):RTP和SRTP

RTP 用于(如音频、视频),它不提供可靠传输,而是关注低延迟、高实时性。

2025-06-26 22:35:25 1129

原创 WebRTC(九):JitterBuffer

WebRTC 的 JitterBuffer 构建了高度模块化、可插拔、跨平台的实时缓冲机制,实现了在复杂网络环境下高质量的音视频通信体验。特性音频(NetEq)视频(FrameBuffer)缓冲粒度RTP 包(10ms)视频帧解码策略严格 10ms 推进根据时间和帧依赖丢包处理PLC / CNGNACK / 丢弃时间同步插值输出 / 静音填充控制解码控制内部自动控制外部线程主动拉帧解码延迟适配加速 / 减速控制解码时机或丢帧。

2025-06-24 23:10:21 874

原创 WebRTC(八):SDP

audio:媒体类型9:端口(通常为 9,占位,由 ICE 协商真实端口):传输协议,表示使用 SRTP over DTLS111:payload type,用于后续a=rtpmap对应实际编解码器。

2025-06-23 22:56:59 1160

原创 WebRTC(七):媒体能力协商

目的:确保双方选用兼容的音视频编解码器、分辨率、码率和传输参数,实现高质量的实时通信。载体:基于 SDP(Session Description Protocol)协议,描述媒体的相关能力。流程一方创建并发送包含自身支持能力的 SDP Offer对方收到后生成 SDP Answer,确认兼容参数双方通过设置本地和远端描述完成协商内容包括编解码器列表(如 VP8、H.264、Opus)媒体流方向(发送、接收、双向)带宽限制和媒体属性网络传输细节(ICE、DTLS安全层)结果。

2025-06-22 17:20:35 1394

原创 ffmpeg(七):直播相关命令

【代码】ffmpeg(七):直播相关命令。

2025-06-21 15:58:18 257

原创 ffmpeg(六):图片与视频互转命令

注意:有些编码器(如 libx264)要求分辨率为偶数,所以用了。

2025-06-21 15:57:34 304

原创 WebRTC(六):ICE协议

步骤关键点候选地址收集候选交换通过 SDP + trickle ICE连通性检查STUN 探测路径可用性优选与提名基于优先级选最优地址对连接建立最终选中路径,建立 DTLS/SRTP。

2025-06-18 22:26:10 1489

原创 WebRTC(五):TURN协议

因为它会增加。

2025-06-17 23:13:50 1118

原创 WebRTC(四):STUN协议

Client(NAT内) ←→ STUN Server(公网)1. 客户端发送 STUN Binding Request(UDP)2. STUN 服务器接收后,记录源 IP+端口3. 服务器将记录到的外部地址封装进 Binding Response 返回客户端4. 客户端分析返回结果,得到自己 NAT 后的公网 IP:Port关键点描述功能获取 NAT 后公网地址,辅助 P2P 穿透协议类型UDP,轻量快速标准文档RFC 5389应用安全支持身份验证和消息完整性验证局限。

2025-06-15 21:31:53 984 2

原创 WebRTC(三):P2P协议

传统流媒体 vs P2P 流媒体项目传统流媒体(CDN)P2P 流媒体架构中心化服务器去中心化节点服务器负载高低延迟中等视策略而定扩展性受限于服务器带宽极强成本高低。

2025-06-12 22:32:13 1091

原创 WebRTC(二):工作机制

浏览器A | | 浏览器B || || 1. 获取本地媒体流 (getUserMedia) || || || 2. 创建 RTCPeerConnection 对象 || || 3. 创建 Offer SDP(Session Description) || || | 4. 接收 Offer SDP| | 5. 创建 RTCPeerConnection| | 6. 创建 Answer SDP| || 7. 接收 Answer SDP || |

2025-06-10 22:00:58 1264

原创 WebRTC(一):整体架构

核心对象:WebRTC 不定义信令协议,常用方案:信令交换内容包括:通信流程服务端组件架构虽然 WebRTC 是 P2P,但实际场景常常需要以下服务器支撑:

2025-06-09 21:46:32 632

原创 ffmpeg(五):裁剪与合并命令

【代码】ffmpeg(五):裁剪与合并命令。

2025-06-08 22:07:39 458

原创 ffmpeg(四):滤镜命令

vfFFmpeg的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。

2025-06-08 21:53:30 688

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除