音视频开发
文章平均质量分 77
稚肩
前世界五百强嵌入式软件工程师,通信领域在读硕士,兴趣:Linux底层驱动开发、音视频开发、网络安全等
展开
-
视频接入协议之MIPI
是一种用于移动设备的串行接口标准,旨在提供高速、低功耗、低成本的接口解决方案。MIPI联盟是一个全球性的组织,致力于开发、推广和管理MIPI标准。MIPI接口包括了多种协议和规范,其中最常见的是MIPI D-PHY和MIPI CSI-2。原创 2024-02-18 17:48:04 · 1632 阅读 · 0 评论 -
图像接入协议之LVDS
LVDS (Low-Voltage Differential Signaling) 是一种高速串行通信协议,用于在电子设备之间传输数据。它通常用于连接液晶显示屏、摄像头、显示器、模拟数字转换器(ADC)等设备。原创 2024-02-18 17:39:07 · 985 阅读 · 0 评论 -
SDL简述
Simple DirectMedia Layer(SDL)是一个跨平台的多媒体开发库,提供了对图形、音频、输入设备等底层操作的支持,使得开发者能够更方便地创建跨平台的多媒体应用程序。SDL被设计为轻量级且易于使用,主要用于游戏开发和嵌入式系统等领域。原创 2024-02-03 17:55:47 · 384 阅读 · 0 评论 -
传输层协议之QUIC
QUIC(Quick UDP Internet Connections)是一种由Google设计和推动的传输层协议,旨在提供更快、更安全、更可靠的互联网连接。QUIC基于UDP协议,相较于传统的基于TCP的协议,具有更低的连接建立时延、更好的多路复用能力、内置的安全性和更好的拥塞控制等特点。原创 2024-02-03 17:55:17 · 1180 阅读 · 0 评论 -
流媒体传输开源协议SRT
SRT(Secure Reliable Transport)是一种专为实时流媒体传输设计的开源协议。它主要关注在不可靠网络环境中(如互联网)通过UDP协议实现可靠、低延迟的视频传输。原创 2024-02-02 07:20:18 · 884 阅读 · 0 评论 -
流媒体传输协议之HLS((HTTP Live Streaming))
HLS(HTTP Live Streaming)是一种基于HTTP的流媒体传输协议,最初由苹果公司在2009年推出,用于在iOS设备上实现实时的音视频流播放。HLS已经成为一种广泛应用于在线视频流传输的标准,不仅在苹果设备上,也在其他平台上得到了支持。HLS是一种用于实现流媒体的协议,它基于HTTP,通过将媒体文件切割成小片段并使用播放列表进行组织,实现了高效、灵活的视频传输。其出现的背景可以追溯到对于在不同网络条件下提供稳定、高质量视频流的需求。原创 2024-02-02 07:17:20 · 1474 阅读 · 0 评论 -
GStreamer的基本概念、特性、主要使用场景
在一个Pipeline中,数据流经过不同的元素,经过处理和转换,最终达到输出目标。通过模块化,用户可以根据需求选择合适的插件和元素,构建自定义的多媒体处理流水线。GStreamer在嵌入式领域有广泛的应用,可以用于嵌入式系统中的音视频处理、媒体播放以及实时流媒体传输。用户从元素库中选择合适的元素,比如源元素、过滤器元素和目标元素。用户通过连接元素的输入和输出Pad,建立元素之间的数据流通道。用户可以监控Pipeline的状态,处理错误和异常情况,并在需要时动态调整流水线的结构和配置。原创 2024-01-31 17:34:16 · 970 阅读 · 0 评论 -
实时流媒体协议之RTMP
RTMP(Real-Time Messaging Protocol)是一种用于实时数据传输的协议。它最初由Adobe Systems开发,用于在Flash应用程序之间传输音频、视频和其他数据。RTMP以其低延迟、高效的流媒体传输而闻名,特别适用于直播和实时通信应用。原创 2024-01-31 16:59:47 · 622 阅读 · 0 评论 -
最全音频总线汇总
I2S(Inter-IC Sound)是一种用于在集成电路之间传输音频数据的串行总线协议。它通常用于连接音频编解码器、数字信号处理器(DSP)、数字音频接口等设备,使它们能够进行数字音频数据的高质量传输。采用时钟同步机制,可以以多种格式传输,包括标准的 I2S 格式、左对齐(Left-Justified)格式和右对齐(Right-Justified)格式。支持主从模式和多声道支持I2S 使用三根数据线进行通信,分别是:Serial Data Line (SD): 传输音频数据的串行数据线。原创 2024-01-30 15:52:44 · 1079 阅读 · 0 评论 -
实时流媒体协议之RTSP
实时流协议 (RTSP) 是一种网络协议,旨在控制娱乐和通信系统中的流媒体。该协议结合了转码和编程,通过易于使用的链接通过网络或互联网传输视频。RTSP协议最常见的用例之一是安全摄像头系统,其中媒体是视频流,可以有或没有音频。它通常本身不提供连续流,尽管连续媒体流与控制流的交错是可能的,换句话说,RTSP充当多媒体服务器的“网络遥控器”。原创 2024-01-29 16:26:28 · 863 阅读 · 0 评论 -
常用实时流媒体传输协议汇总
常见的流媒体协议如下,主要有RTSP, RTP, RTMP,HLS, MPEG-DASH等。近年来,HTTP-based协议如HLS和MPEG-DASH在移动设备和Web平台上的广泛应用日益增多。下面是这些协议的基本介绍。原创 2024-01-29 11:37:11 · 802 阅读 · 0 评论 -
使用ffmpeg实现服务端和客户端的RTMP推流拉流
RTSP(Real-Time Streaming Protocol)和RTMP(Real-Time Messaging Protocol)都是用于实时流媒体传输的协议。RTMP使用单一的持久连接(通常是TCP),在该连接上同时传输控制信息和媒体数据,其相对较灵活,支持多种编码格式和传输方式。最初设计用于Flash播放器,但后来也被其他应用广泛采用RTMP曾经在直播、在线视频等领域非常流行。然而,由于Adobe停止支持Flash Player,并且HTML5和其他技术的兴起,RTMP的使用逐渐减少。原创 2024-01-29 11:26:49 · 1699 阅读 · 1 评论 -
AAC解码算法原理
关于更多音视频开发内容,请参考专栏AAC(Advanced Audio Coding)是一种高级音频编码标准,它是一种十分流行的音频压缩格式,通常用于存储和传输音频数据。AAC提供了高音质和高压缩效率,广泛应用于音乐、视频流媒体、广播等领域。原创 2024-01-27 14:14:22 · 971 阅读 · 0 评论 -
使用ffmpeg进行AAC音频解码
关于更多音视频开发内容,请参考专栏AAC(Advanced Audio Coding)是一种常见的音频编解码格式,用于高效压缩音频数据。要进行AAC解码,可以使用常用工具或库来实现。原创 2024-01-27 12:24:21 · 1263 阅读 · 0 评论 -
多路摄像头的ONVIF协议兼容
ONVIF(Open Network Video Interface Forum)是一个由各大厂商和组织组成的开放性标准组织,致力于制定用于网络视频设备的全球开放标准。ONVIF的目标是推动网络视频设备的互操作性,确保不同厂商生产的设备能够在相同的网络环境下协同工作。ONVIF配置文件具有一组固定且全面的功能,使功能产品能够仅根据配置文件规范进行开发。配置文件具有强制性和条件性功能,这些功能应由符合 ONVIF 标准的设备或客户端实现,如果它以任何方式(包括任何专有方式)支持该功能。原创 2024-01-26 12:33:26 · 694 阅读 · 0 评论 -
音视频同步的处理思路附源码
在音视频处理应用中,面临时钟不同步:音频和视频设备可能有不同的时钟,导致它们的时间基准不同。网络延迟:在流媒体应用中,音频和视频数据可能通过网络传输,而网络的不稳定性可能导致延迟和波动等同步问题。原创 2024-01-26 12:33:03 · 279 阅读 · 0 评论 -
音视频开发常见面试题
音视频常见面试题汇总原创 2024-01-25 16:06:48 · 1083 阅读 · 0 评论 -
H.264与H.265的主要差异
H.265仍然采用混合编解码,编解码结构域H.264基本一致,本文从各个性能指标和实现细节阐述两者不同。原创 2024-01-25 15:54:22 · 1911 阅读 · 0 评论 -
H264解码原理详解
H.264的解码原理,NAL单元解码,使用ffmpeg解码原创 2024-01-25 11:32:27 · 1382 阅读 · 0 评论 -
H264编码原理详解
视频编码经历了多个阶段,从最初的模拟时代发展到数字时代,不断提高了数据的压缩效率和视频质量。原创 2024-01-25 11:02:47 · 1193 阅读 · 0 评论 -
live555在拉流时应对多路码流传输带宽问题的几种处理思路
Live555库本身并没有直接处理带宽管理和调整的机制,因为它主要是一个用于实现RTSP流媒体服务器和客户端的库,而带宽管理通常是在应用层进行处理的。但Live555支持一些基础协议,这些协议可以在应对带宽问题时进行使用。Live555提供了对RTSP协议的完整实现,包括对RTSP的处理、解析和生成。通过RTSP协议,可以与客户端进行交互,进行带宽管理、流控制等操作。同时 Live555也可以实现RTP和RTCP协议,用于在实时传输中进行数据传输和接收的控制。原创 2024-01-24 19:37:42 · 1210 阅读 · 0 评论 -
ubuntu下使用Live555搭建流媒体服务器
本教程实验环境在64bit ubuntu。原创 2024-01-24 19:16:04 · 1036 阅读 · 0 评论 -
Web即时通信技术——WebRTC
WebRTC(Web Real-Time Communication)是一个开放的项目,旨在在网页端提供实时的音频、视频和数据通信,不需要插件或其他附加软件。它是由Google主导,并在Mozilla、W3C和IETF等组织的支持下开发。WebRTC的目标是使浏览器成为实时通信的强大平台,支持点对点(peer-to-peer)通信。官方网址:https://webrtc.org/WebRTC中文网 https://webrtc.org.cnWebRTC官网 https://webrtc.org/原创 2024-01-23 11:33:24 · 1450 阅读 · 0 评论 -
FFmpeg教程:libswscale对图像进行简单处理
libswscale(Software Scaling and Conversion Library)是FFmpeg中的一个库,用于执行图像缩放、颜色空间转换以及图像格式转换等操作。它主要提供了一些函数和工具,使得在视频处理过程中可以方便地进行图像大小和颜色空间的调整。原创 2024-01-22 23:59:57 · 708 阅读 · 0 评论 -
ffmpeg实现视频解码
使用ffmpeg进行视频解码,包含编程的一般步骤和具体的详细代码原创 2024-01-22 21:51:41 · 1704 阅读 · 0 评论 -
实时流媒体传输开源库——Live555
Live555(LiveMedia Libraries)是一个开源的多媒体流处理库,主要用于实现基于标准网络协议的实时流媒体传输。Live555提供了一套 C++ 类库,可以用于开发支持 RTP/RTCP、RTSP、SIP 等协议的流媒体服务器和客户端应用程序。它广泛用于视频监控、视频会议、音视频直播等流媒体传输领域。原创 2024-01-21 15:51:48 · 1654 阅读 · 0 评论 -
GStreamer基础介绍
GStreamer 是一个开源的多媒体框架,用于构建和处理各种多媒体应用。它提供了一组用于创建、配置和处理音频、视频、图像和其他多媒体数据流的库和工具。GStreamer 设计为灵活且可扩展的,使开发者可以构建各种多媒体应用,包括音频/视频播放器、流媒体服务器、音视频编辑器等。原创 2024-01-17 21:15:08 · 501 阅读 · 0 评论 -
音频开发之ALSA框架
ALSA(Advanced Linux Sound Architecture)是Linux操作系统上用于提供音频和MIDI功能的软件架构。它为Linux系统提供了强大的音频支持,包括音频录制、播放和处理,它设计用于提供高性能、低延迟、高质量的音频处理,并为开发者提供了一组API和工具。原创 2024-01-22 21:36:21 · 1995 阅读 · 0 评论 -
FFmpeg简单总结
FFmpeg(Fast Forward MPEG)是一个开源跨平台的音视频处理工具库和软件套件,它包括了一系列用于处理多媒体数据的程序和库。FFmpeg 提供了音视频编解码、封装、过滤、流媒体传输等功能,支持多种音频、视频和容器格式,包括但不限于 MP4、AVI、MKV、FLV、MP3、AAC、H.264、H.265 等。FFmpeg 可以在多个操作系统上运行,包括 Linux、Windows、macOS 等。原创 2024-01-17 21:00:47 · 791 阅读 · 0 评论 -
音视频开发之V4L2
V4L2 提供了一个统一的接口,允许用户空间程序与各种视频设备进行通信,而无需了解底层硬件的具体细节。同时V4L2 支持各种不同类型的视频设备,包括摄像头、视频采集卡、Webcam 等。V4L2 允许用户从视频设备中采集视频流,并提供了配置和控制相关参数的功能,除了采集视频流,V4L2 还支持将视频流输出到显示设备或其他目标等。V4L2(Video for Linux 2)是 Linux 内核中用于视频设备的子系统,提供了统一的接口,使用户空间程序能够与各种视频设备进行通信和控制。原创 2024-01-17 20:44:32 · 359 阅读 · 0 评论 -
音视频处理流程
常见的音视频系统如下音视频处理流程涉及到许多复杂的步骤,包括采集、编解码、处理、传输和播放等。总体上分为三个端,摄像终端,服务端,客户端。摄像终端主要用来采集原始的音视频数据,在摄像终端会从硬件软件端对初始的音视频数据进行预处理,编码,加密。摄像终端到服务端一般走的是网络(有线,wifi,4G/5G等)或者其他有线传输方式。服务端主要用来对不同摄像终端的音视频数据进行整合和处理,主要有,流控制和管理,解码,解密,存储,认证和授权,服务端是摄像终端和客户端之间的媒介。原创 2024-01-16 11:58:44 · 467 阅读 · 1 评论