音视频
文章平均质量分 79
460833359
这个作者很懒,什么都没留下…
展开
-
Ubuntu下libpng库编译使用
1.下载地址:https://sourceforge.net/projects/libpng/files/这里下载版本:libpng-1.6.37编译方法:cd libpng-1.6.37/mkdir bintargetchmod 777 bintarget/./configure --prefix=`pwd`/bintargetmake(生成的库文件在.libs目录下,../.libs/libpng16.a)make install2.此时虽然编译出png库文件,但还无法使用,.原创 2022-04-24 14:47:35 · 1451 阅读 · 0 评论 -
jpeg图片格式详解
jpeg图片格式详解1. JPEG文件简介JPEG的全称是JointPhotographicExpertsGroup(联合图像专家小组),它是一种常用的图像存储格式, jpg/jpeg是24位的图像文件格式,也是一种高效率的压缩格式,文件格式是JPEG(联合图像专家组)标准的产物,该标准由ISO与CCI TT(国际电报电话咨询委员会)共同制定,是面向连续色调静止图像的一种压缩标准。其最初目的是使用64Kbps的通信线路传输720×576 分辨率压缩后的图像。通过损失极少的分辨率,可以将图像所需存储量减少转载 2022-04-02 15:47:18 · 21597 阅读 · 0 评论 -
webrtc视频jitterbuffer原理机制(描述版)
前言如果网络是理想的,即无丢包,无抖动,低延时,那么接收到一帧完整数据就直接播放,效果也一定会非常好。但是实际的网络总是复杂的,尤其无线网络。如果还是这样直接播放,网络稍微变差,视频就会卡顿,出现马赛克等。所以,在接收端对接收的数据做一个缓冲是很有必要的。缓冲一定是以延时作为代价的,延时越大,对抖动的过滤效果越好。一个优秀的视频jitterbuffer,不仅要能够对丢包、乱序、延时到达等异常情况做处理,而且还要能够让视频平稳的播放,尽可能的避免出现明显的加速播放和缓慢播放。主流的实时音视频框架基本转载 2022-03-22 16:08:29 · 1818 阅读 · 0 评论 -
jitter buffer QoS的解决方案
QoS出现的背景:而当网络发生拥塞的时候,所有的数据流都有可能被丢弃;为满足用户对不同应用不同服务质量的要求,就需要网络能根据用户的要求分配和调度资源,对不同的数据流提供不同的服务质量:1、对实时性强且重要的数据报文优先处理;2、对于实时性不强的普通数据报文,提供较低的处理优先级,网络拥塞时甚至丢弃。为了满足上述需求,QoS出现了,定义如下:QoS(Quality of Service)指一个网络能够利用各种基础技术,为指定的网络通讯提供更好的服务能力, 是网络的一种安全机制, 是用转载 2022-03-22 15:03:21 · 181 阅读 · 0 评论 -
音频传输之Jitter Buffer设计与实现
在语音通信中Jitter Buffer(下面简称JB)是接收侧一个非常重要的模块,它是决定音质的重要因素之一。一方面它会把收到的乱序的语音包排好序放在buffer里正确的位置上,另一方面它把接收到的语音包放在buffer中缓冲一些时间使播放的更平滑从而获得更好的语音质量。下图是JB在接收侧软件框图中的位置。 从上图可以看出,从网络上收到的语音包会放在JB里(这个操作叫做PUT),在需要的时候便从JB里取出来(这...转载 2022-03-22 14:11:20 · 604 阅读 · 0 评论 -
h264解码之自定义信息(SEI)
参考博客:https://www.jianshu.com/p/4d9120dfcd69NAL header起始码(暗红底色)"0x00000001"分割出来的比特流即是NAL unit,起始码紧跟的第一个字节(墨绿底色)是NAL header。上图“NAL header”一共出现了四个数值:"0x06",此时NRI为"00B",NAL unit type为SEI类型。“0x67”,此时NRI为“11B”,NAL unit type为SPS类型。“0x68”,此时NRI为“11B”...转载 2022-03-17 15:12:05 · 981 阅读 · 0 评论 -
ISP和IQ调试
什么是ISPisp:image signal process, 图像信号处理,这是技术image signal processor, 图像信号处理器,这是设备本质:通过数字运算来修补前端采集的不理想数据,尽可能提升图像质量。ISP处理器:核心是数字运算能力,在HI3516EV200中是内置DSP。ISP主要坐下面的工作:AEC(自动曝光控制)、AGC(自动增益控制)、AWB(自动白平衡)、AF(自动对焦)色彩校正、Lens Shading、Gamma 校正、祛除坏点、Auto Black L转载 2022-03-08 17:43:14 · 1226 阅读 · 0 评论 -
PS-TS-PES-ES流结构分析
目录概念普及:TS层(ts header+adaption+PAT/PMT)ts headeradaptionPAT/PMTpes层es层概念普及:PS:是MPEG2的一种分装格式,目前可用于GB28181等协议中,PS格式包括:PS header,PS system header,PS system map,PES层,ES层,具体可以参考PS封包到rtp中,适用于没有误差产生的媒体存储,如DVD等存储介质;TS:是ISOIEC 13818-1的标准,主要用于数字高清电视转载 2022-03-07 17:55:50 · 1360 阅读 · 0 评论 -
【流媒体服务】推流拉流体验(二):【1】使用VLC轻松体验本地视频推流、拉流、播放功能
文章目录前言一、VLC是什么?二、VLC推流1、选择串流2、选择本地资源视频串流3、串流目标设置4、转码选项5、开始推流三、VLC拉流1、开启第二个VLC程序2、打开网络串流界面3、输入流媒体地址4、拉流效果展示四、总结前言本章主要讲解如何通过VLC开源免费工具对本地视频实现推流、拉流、播放演示。一、VLC是什么?VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。VLC下载地址:www.转载 2022-03-07 16:17:53 · 4160 阅读 · 2 评论 -
H.264/H265码流解析
一.H.264码流解析一个原始的H.264 NALU 单元常由 [StartCode] [NALU Header] [NALU Payload] 三部分组成一个原始的H.264 NALU 单元常由 [StartCode] [NALU Header] [NALU Payload] 三部分组成NALU组成.jpegStartCode : Start Code 用于标示这是一个NALU 单元的开始,必须是”00 00 00 01” 或”00 00 01” NALU Header..转载 2021-10-28 20:14:21 · 3296 阅读 · 0 评论 -
(推荐阅读)H264, H265硬件编解码基础及码流分析
需求在移动端做音视频开发不同于基本的UI业务逻辑工作,音视频开发需要你懂得音视频中一些基本概念,针对编解码而言,我们必须提前懂得编解码器的一些特性,码流的结构,码流中一些重要信息如sps,pps,vps,start code以及基本的工作原理,而大多同学都只是一知半解,所以导致代码中的部分内容虽可以简单理解却不知其意,所以,在这里总结出了当前主流的H.264,H.265编码相关的原理,以供学习.阅读前提:音视频基础知识 iOS中VideoToolbox框架1. 概览1.1. 为什么要编码转载 2021-10-27 20:58:00 · 2702 阅读 · 0 评论 -
H264码流和Mp4结构详解
一、概述本文讲述的是对H264编码且封装成MP4格式的视频流进行RTP打包过程时需要了解的一些基本知识。二、H264的基础知识1.H264的编码格式H.263 定义的码流结构是分级结构,共四层。自上而下分别为:图像层(picturelayer)、块组层(GOB layer)、宏块层(macroblock layer)和块层(block layer)。而与H.263 相比,H.264的码流结构和H.263 的有很大的区别,它采用的不再是严格的分级结构。H.264 支持4:2:0 的连续或隔行视转载 2021-10-25 15:13:59 · 3455 阅读 · 0 评论 -
内存池的实现方法
这篇文章主要介绍一下内存池的实现方式,这里介绍的是一种比较经典的内存池实现方式,就是链表法实现,具体原理如下:1,首先内存池无非是提前申请一大块内存片段,之后把这个片段上的指针分配给用户,对于分配来说只要记住已经分配的偏移量即可,每次分配将指针后移申请的内存块长度即可。2,主要问题在于释放内存,由于不确定用户申请和释放内存的顺序,必须假定申请和释放都在交叠进行,对于内存池来说,释放的空间必须要可以复用,否则内存池失去了意义;但是先申请的内存区域可能先释放,这样将出现释放的区域位于已分配区域中间的转载 2021-09-09 15:59:58 · 262 阅读 · 0 评论 -
ONVIF协议网络摄像机(IPC)客户端程序开发(5):门外汉理解ONVIF协议
1. 专栏导读本专栏第一篇文章「专栏开篇」列出了专栏的完整目录,按目录顺序阅读,有助于你的理解,专栏前面文章讲过的知识点(或代码段),后面文章不会赘述。为了节省篇幅,突出重点,在文章中展示的示例代码仅仅是关键代码,你可以在「专栏开篇」中获取完整代码。如有错误,欢迎你的留言纠正!让我们共同成长!你的「点赞」或「打赏」是对我最大的支持和鼓励!2. 前言这次「ONVIF协议网络摄像机(IPC)客户端程序开发」专栏,到了这篇文章,才真正的开始介绍ONVIF,前面的文章都是为了介绍ONVIF做的铺垫,如果转载 2021-09-01 17:29:58 · 992 阅读 · 0 评论 -
h264码流及h265码流结构分析,NAL头类型分析
视频编码标准规定了编码后码流的语法语义,也就阐明了从比特流提取语法元素并进行解释的方法,也就是视频的解码过程。1.h264码流结构解析: H.264/AVC(Advanced Video Coding) 的功能分为两层:视频编码层(VCL, Video CodingLayer)和网络提取层(NAL, Network Abstraction Layer)。VCL数据即编码处理的输出,它表示被压缩编码后的视频数据序列。在VCL数据传输或存储之前,这些编码的VCL 数据,先被映射或封装进NAL单元中...转载 2021-07-16 17:56:27 · 1626 阅读 · 0 评论 -
H264 SPS解析
ijkplayer中解析sps的代码,加上ffmpeg中的一部分处理使用get_resolution_from_sps来获取获取解析到的视频宽高信息或者其他什么sps中的字段值,在sps_info_struct结构中定义/* * h264_sps_parser.h * * Copyright (c) 2014 Zhou Quan <zhouqicy@gmail.com> * * This file is part of ijkPlayer. * * ijkPlayer转载 2021-07-16 17:49:40 · 412 阅读 · 0 评论 -
H.264(H264)解码SPS获取分辨率和帧率
#include <stdio.h> #include <stdint.h> #include <string.h> #include <math.h> typedef unsigned int UINT; typedef unsigned char BYTE; typedef unsigned long DWORD; UINT Ue(BYTE *pBuff, UINT nLen, UINT ...转载 2021-07-16 17:34:31 · 1911 阅读 · 0 评论 -
h264协议帧头数据解析
一、序言h264常见的帧头数据为:00 00 00 01 67 (SPS)00 00 00 01 68 (PPS)00 00 00 01 65 ( IDR 帧)00 00 00 01 61 (P帧)等等,那么他们代表的意思是什么呢?二、start codestart code有两种,四个字节的“00 00 00 01”和三个字节的“00 00 01”都是。三、NALU indicator+---------------+|0|1|2|3|4|5|...转载 2021-07-15 16:17:32 · 2693 阅读 · 0 评论 -
ONVIF网络摄像头(IPC)客户端开发—ONVIF介绍
1.前言: 网上已经有很多关于ONVIF开发的资料,这里概括介绍一下ONVIF协议以及介绍一下我自己在开发ONVIF网络摄像头的一些流程和经验,做个开发记录和经验总结,以备将来查看,也可供他人参考。如有错误,欢迎你的留言纠正,让我们共同成长。系列博客包括:《ONVIF网络摄像头(IPC)客户端开发—ONVIF介绍》《ONVIF网络摄像头(IPC)客户端开发—最简RTSP客户端实现》《ONVIF网络摄像头(IPC)客户端开发—RTSP RTCP RTP加载H264视频流》《ONVIF网络摄像头(..转载 2021-07-06 14:08:58 · 852 阅读 · 0 评论 -
h264解码之自定义信息(SEI)
针对h264的解析网上优秀得博文、帖子一抓一大把,我就不在这班门弄斧了,仅仅提取一些自己在用的过程中比较有用的信息,对于sei自定义信息字段,虽然网上信息很多,但不容易精确搜到,就像我之前曾遇到一篇对我个人非常有用的文章,但后面一直找不到,现在再次看到,就把部分提取了出来,记录下,方便自己后面再次用到方便,也看能不能帮助到部分码友。参考博客:https://www.jianshu.com/p/4d9120dfcd69NAL header起始码(暗红底色)"0x00000001...转载 2021-06-29 16:50:06 · 235 阅读 · 0 评论 -
c/c++时间操作函数总结
一、时区相关概念地球自西往东转动,东边比西边先看到太阳,所以东边的时间比西边的时间早。将地球经度按照24个时区进行划分,每个时区相隔的经度为15度。以英国伦敦(格林尼治天文台旧址)为中时区(零时区),向东有11个时区,向西也有11个时区,太平洋白令海峡所在经度为12区,东西各占一半。0时区向东每隔一个时区时间快1小时,向西每隔一个时区时间慢1小时。在12区中间,左边刚好比右边日期大1天。UTC协调时间时间=世界标准时间=格林尼治时间=G.M.T(Greenwich Mean Time),指0时区所处转载 2021-06-29 14:11:53 · 968 阅读 · 0 评论 -
声学回声消除(Acoustic Echo Cancellation)
回声就是声音信号经过一系列反射之后,又听到了自己讲话的声音,这就是回声。一些回声是必要的,比如剧院里的音乐回声以及延迟时间较短的房间回声;而大多数回声会造成负面影响,比如在有线或者无线通信时重复听到自己讲话的声音(回想那些年我们开黑打游戏时,如果其中有个人开了外放,他的声音就会回荡来回荡去)。因此消除回声的负面影响对通信系统是十分必要的。 针对回声消除(Acoustic Echo Cancellation,AEC)问题,现如今最流行的算法就是基于自适应滤波的回声消除算法。本文从回声信号的两种分类以及.转载 2021-06-18 16:58:40 · 632 阅读 · 0 评论 -
[音频处理]傅里叶变换去噪
写在前面不是科研狗,基础理论薄弱,写的比较匆忙,有理解有误的地方还请理解和指正。网上大佬们写的傅里叶公式推导,证明已经很多了(瑟瑟发抖),我这里主要是讲傅里叶的应用,不涉及公式证明,而是直接拿起公式使用。由于自己获取知识也是看大佬们博文理解学习得来的,所以图片中多少有一些是别人的图,不过我附上了别人的链接。看完这篇你能收获到:1 傅里叶变换的原理2 傅里叶变换在音频的应用3 离散傅里叶变换处理音频的C语言代码及讲解背景最近接触音视频处理比较多,就遇到了采集的音频数据有噪音的情况。可不可以转载 2021-06-18 16:55:37 · 3938 阅读 · 0 评论 -
回声消除基本介绍
一、前言因为工作的关系,笔者从2004年开始接触回声消除(Echo Cancellation)技术,而后一直在某大型通讯企业从事与回声消除技术相关的工作,对回声消除这个看似神秘、高端和难以理解的技术领域可谓知之甚详。要了解回声消除技术的来龙去脉,不得不提及作为现代通讯技术的理论基础——数字信号处理理论。首先,数字信号处理理论里面有一门重要的分支,叫做自适应信号处理。而在经典的教材里面,回声消除问题从来都是作为一个经典的自适应信号处理案例来讨论的。既然回声消除在教科书上都作为一种经典的具体的应用,也就转载 2021-06-18 11:25:19 · 620 阅读 · 0 评论 -
AAC ADTS格式分析 .
1.ADTS是个啥ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。记得第一次做demux的时候,把AAC音频的ES流从FLV封装格式中抽出来送给硬件解码器时,不能播;保存到本地用pc的播放器播时,我靠也不能播。当时崩溃了,后来通过查找资料才知道。一般的AAC解码器都需要把AAC的ES流打包成ADTS的格式,一般是在AAC ES流前...转载 2019-01-11 16:11:07 · 288 阅读 · 0 评论 -
Linux 获取音频ALSA API编程
ALSA Programming HOWTO根据ALSA写一简单的PCM应用程序,我们首先需要为PCM设备打开一个句柄(Handle),然后指定PCM流的方向是播放或者是捕获(playback还是capture),我们也可以配置一些我们想要的参数,比如,buffer size, sample rate, pcm数据格式等.因此我们就有了一个大体的框架了,简单高效,如下:/* Handle fo...转载 2018-04-04 21:01:12 · 968 阅读 · 0 评论 -
帧率、码流与分辨率相关知识
一、帧率、码流与分辨率 帧率概念 一帧就是一副静止的画面,连续的帧就形成动画,如电视图象等。我们通常说帧数,简单地说,就是在1秒钟时间里传输的图片的数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames Per Second)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。高的帧率可以得到更流畅、更逼真的动画。每秒钟帧数 (fps) 愈多,所显示的动作转载 2016-04-24 10:49:04 · 2723 阅读 · 0 评论 -
视频码流
视频码流码流是什么 码流(Data Rate)是指视频文件在单位时间内使用的数据流量,也叫码率或码流率,是视频编码中画面质量控制中最重要的部分,一般我们用的单位是kb/s或者Mb/s。一般来说同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。码流越大,说明单位时间内取样率越大,数据流,精度就越高,处理出来的文件就越接近原始文件,图像质量越好,画质越清晰,要求播放设备的解转载 2016-04-24 10:10:54 · 3478 阅读 · 0 评论 -
摄像机码流的计算
码流是表现摄像机画质的一个重要单位。通常讨论摄像机画质时都要提到码流。例如:EX1R摄像机的码流是 35MZ5C摄像机的码流是 25MEX280摄像机的码流是 50MHDW 750摄像机的码流是 140M通常码流越高,摄像机拍摄的画面“细节”越好。也就是说码流决定了摄像机拍摄的细节能力。下面是两种摄像机拍摄的同一主体左边是140M码流转载 2016-04-24 10:00:02 · 11577 阅读 · 0 评论