
音视频
文章平均质量分 87
我这个人很任性的
这个作者很懒,什么都没留下…
展开
-
视频格式讲解
所谓视频,其实就是将一张一张的图片连续的放出来,就像放幻灯片一样,由于人眼的惰性,因此只要图片的数量足够多,就会觉得是连续的动作。 所以,只需要将一张一张的图片保存下来,这样就可以构成一个视频了。但是,由于目前网络和存储空间的限制,直接存储图片显然不可行。举个例子:在视频聊天中,假定从摄像头采集的图片每张大小200KB,每秒钟发送大概15帧图片,这样每秒钟需要的流量就需要3M(意味着需要24...原创 2019-08-22 13:58:44 · 164 阅读 · 0 评论 -
入门理解H.264编码
首先要弄明白编码的目的。编码是为了将数据进行压缩,这样在传输的过程中就不会使资源被浪费。用一个简单的例子来说明编码的必要性:当你此刻显示器正在播放一个视频,分辨率是1280*720,帧率是25,那么一秒所产生正常的数据大小为:1280*720(位像素)*25(张) / 8(1字节8位)(结果:B) / 1024(结果:KB) / 1024 (结果:MB) =2.75MB显然一秒这么大的数据...原创 2019-09-02 22:12:31 · 1633 阅读 · 0 评论 -
ORTP
1.为什么要使用RTP一提到流媒体传输、一谈到什么视频监控、视频会议、语音电话(VOIP),都离不开RTP协议的应用,但当大家都根据经验或者别人的应用而选择RTP协议的时候,你可曾想过,为什么我们要使用RTP来进行流媒体的传输呢?为什么我们一定要用RTP?难道TCP、UDP或者其他的网络协议不能达到我们的要求么?像TCP这样的可靠传输协议,通过超时和重传机制来保证传输数据流中的每一个bi...原创 2019-09-02 09:55:46 · 2877 阅读 · 0 评论 -
海思官方文档学习五
1.概述VENC 模块,即视频编码模块。本模块支持多路实时编码,且每路编码独立,编码协议和编码 profile 可以不同。本模块支持视频编码同时,调度 Region 模块对编码图像内容进行叠加和遮挡。VENC 模块的输入源包括三类:用户态读取图像文件向编码模块发送数据; 视频输入(VIU)模块采集的图像经视频处理子系统(VPSS)发送到编码模块; 视频输入(VIU)模块采集的图像...原创 2019-09-02 08:44:12 · 554 阅读 · 0 评论 -
海思官方文档学习四
1.概述VPSS(Video Process Sub-System)支持对一幅输入图像进行统一预处理,如去噪、去隔行等,然后再对各通道分别进行缩放、锐化等处理,最后输出多种不同分辨率的图像。VPSS 单元支持的具体图像处理功能包括 FRC(Frame Rate Control)、 Crop、 NR(Noise Reduce)、 LDC(Lens Distortion Correction...原创 2019-09-01 22:36:27 · 849 阅读 · 0 评论 -
ISP_3A开发指南学习
1.设计思路ISP 的 Firmware 包含三部分,一部分是 ISP 控制单元和基础算法单元,即 ISP 库,一部分是 AE/AWB/AF 算法库,一部分是 sensor 库。 Firmware 设计的基本思想是单独提供 3A 算法库,由 ISP 控制单元调度基础算法单元和 3A 算法库,同时 sensor 库分别向ISP 库和 3A 算法库注册函数回调,以实现差异化的 sensor 适配...原创 2019-09-01 22:07:27 · 1419 阅读 · 2 评论 -
海思官方文档学习三
1.视频输入视频输入(VI)模块实现的功能:通过 ITU-R BT656/601/1120 接口或 Digital Camera接口、 MIPI Rx(含 MIPI 接口、 LVDS 接口和 HISPI 接口)接收视频数据。当工作在离线模式时,将接收到的数据存入到指定的内存区域;当工作在在线模式时, VI 会将数据直接送给 VPSS。在此过程中, VI 可以对接收到的原始视频图像数据进行裁剪...原创 2019-09-01 21:54:46 · 461 阅读 · 0 评论 -
海思官方文档学习二
1系统概述系统控制根据 Hi35xx 芯片特性,完成硬件各个部件的复位、基本初始化工作,同时负责完成 MPP(Media Process Platform 媒体处理平台)系统各个业务模块的初始化、去初始化以及管理 MPP 系统各个业务模块的工作状态、提供当前 MPP 系统的版本信息、提供大块物理内存管理等功能。应用程序启动 MPP 业务前,必须完成 MPP 系统初始化工作。同理,应用程序...原创 2019-09-01 21:45:47 · 873 阅读 · 0 评论 -
海思官方文档学习一
本文只整理后面需要用到的内容1.系统概述海思提供的媒体处理软件平台(Media Process Platform,简称 MPP),可支持应用软件快速开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供MPI(MPP Programe Interface)接口完成相应功能。2.系统架构MPP 平台支持的典型的系统层次所示,主要分为以下层次:硬件层硬...原创 2019-09-01 21:26:03 · 1923 阅读 · 0 评论 -
基于QT和FFmpeg开发流媒体播放器对H.264码流进行解码播放
1.上位机界面展示双击最大化 三通道同步 截图2.QFFmpeg类 解码相关#ifndef QFFMPEG_H#define QFFMPEG_H//必须加以下内容,否则编译不能通过,为了兼容C和C99标准#ifndef INT64_C#define INT64_C#define UINT64_C#endif//引入ffmpeg头文件//由于我们建立的是C++...原创 2019-08-23 10:21:00 · 3230 阅读 · 2 评论 -
使用FFMPEG解码视频之保存成图片
使用FFMPEG打开视频文件,并解码保存成一张张的图片。具体的步骤如下所示:1.初始化FFMPEG 调用了这个才能正常使用编码器和解码器。使用这个函数完成编码器和解码器的初始化,只有初始化了编码器和解码器才能正常使用,否则会在打开编解码器的时候失败。av_register_all();2.接着需要分配一个AVFormatContext,FFMPEG所有的操作都要通过这个AVFor...原创 2019-08-22 20:09:03 · 3408 阅读 · 1 评论 -
FFmpeg API2
解码数据结构及函数总结数据读取,主要关注在解码过程中所用到的FFmpeg中的结构体。 解码过程中所调用的函数数据的读取一个多媒体文件包含有多个流(视频流 video stream,音频流 audio stream,字幕等); 流是一种抽象的概念,表示一连串的数据元素; 流中的数据元素称为帧Frame。也就是说多媒体文件中,主要有两种数据:流Stream 及其数据元素 帧Frame...原创 2019-08-22 18:18:39 · 326 阅读 · 0 评论 -
FFmpeg API1
在视频解码前,先了解以下几个基本的概念:编解码器(CODEC):能够进行视频和音频压缩(CO)与解压缩(DEC),是视频编解码的核心部分。 容器/多媒体文件(Container/File):没有了解视频的编解码之前,总是错误的认为平常下载的电影的文件的后缀(avi,mkv,rmvb等)就是视频的编码方式。事实上,刚才提到的几种文件的后缀并不是视频的编码方式,只是其封装的方式。 一个视频文件...原创 2019-08-22 17:56:13 · 469 阅读 · 0 评论 -
FFMPEG的使用
FFMPEG的使用音视频开发中最常做的就是编解码的操作了,以H.264为例:如果想要自己实现编码h.264,需要对H.264非常的了解,首先需要查看H.264的文档,这个文档好像说是三百多页(本人并没有看过)。 想到这,你还写的下去么。 算了吧! 好在H264的编码器,有人已经写好了,而且还提供了源代码。主流的h264编码器有 x264 t264等。 因为我们不做研究,也不会去写编码器...原创 2019-08-22 14:26:14 · 418 阅读 · 2 评论 -
RTSP协议
RTSP(Real-Time Stream Protocol)协议是一个基于文本的多媒体播放控制协议,属于应用层。RTSP以客户端方式工作,对流媒体提供播放、暂停、后退、前进等操作。RTSP作为一个应用层协议,提供了一个可供扩展的框架,使得流媒体的受控和点播变得可能,它主要用来控制具有实时特性的数据的发送,但其本身并不用于传送流媒体数据,而必须依赖下层传输协议(如RTP/RTCP)所提供的服务...原创 2019-09-02 22:30:28 · 473 阅读 · 0 评论