![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音视频
zfpp25_
iOS
展开
-
iOS音视频~编码理论详述
一、为什么要进行视频编码未经压缩的视频的数据量巨大,录制一分钟视频, 需要多大的空间来保存了?1> 为了不让用户感受到卡顿效果, 1秒钟之内至少需要16帧画面(正常开发通常会采集30帧),也就是编码设置的fps参数2> 假如该视频是一个1280*720分辨率的视频(正常情况下会比这个大很多)结果:128072016*60≈843.75M一分钟的视频843M,如果保证播放不卡顿,则需要15M/S 的下载速度,如果使用蜂窝网络...结论:1.如此大的传输数据量,现行带宽压力巨原创 2020-08-26 14:52:53 · 544 阅读 · 0 评论 -
iOS音视频~H264视频硬件编解码说明
一般系统都会提供GPU或者专用处理器来对视频流进行编解码,也就是硬件编码和解码,简称为硬编解码。苹果在iOS 8.0系统之前,没有开放系统的硬件编码解码功能,不过Mac OS系统一直有,被称为Video ToolBox的框架来处理硬件的编码和解码,终于在iOS 8.0后,苹果将该框架引入iOS系统。由此,开发者便可以在iOS里面,调用Video Toolbox框架提供的接口,来对视频进行硬件编解码的工作,为VOIP视频通话,视频流播放等应用的视频编解码提供了便利。(PS:按照苹果WWDC2014 5原创 2020-08-26 13:11:41 · 1159 阅读 · 0 评论 -
iOS直播类APP开发流程解析
前言个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够学几年的。如果你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会进行修改, 祝大家学习愉快~谢谢~ 一个完整直播APP原理把主播录制的视频,推送到服务器,在由服务器分发给观众观看。推流端(采集、美颜处理、编码、推流)、服务端处理(转码、录制、截图、鉴黄)、播放器(拉流、解码、渲染)、互动系统原创 2020-08-26 09:30:10 · 1101 阅读 · 0 评论 -
图像处理库GPUImage简单使用
一、介绍GPUImage是一个基于OpenGL ES 2.0的开源的图像处理库,作者是Brad Larson。GPUImage将OpenGL ES封装为简洁的Objective-C或Swift接口,可以用来给图像、实时相机视频、电影等添加滤镜。二、使用1.导入GPUImage两种方式a.使用cocopods导入platform :ios, '9.0'target 'GPUImageDemo' dopod 'GPUImage'endb.手动导入(1).首先下...原创 2020-08-26 09:30:47 · 3740 阅读 · 0 评论 -
iOS开发~超详细集成 FFmpeg 步骤
概述网上充斥着大量的 iOS FFmpeg 编译的教程,有的时间比较早了,有的很多都没有说详细,或者有个别坑作者没有讲到,有的讲到到了一半,没有例子。所以本人参考了网上的编译FFmpeg教程到集成的很多文章,然后加上本人进行了实际操作,总结出了此篇文章,希望大家如果有用到FFmpeg,以后少走一些坑。此篇文章内容会包含:从新建 iOS 工程 -------> 到调用FFmpeg 命令 -------> 直到运行项目成功的本人实操的所有步骤。目录FFmpeg 简介 FFm转载 2020-08-26 09:32:40 · 813 阅读 · 0 评论 -
iOS开发~音视频编码
iOS音视频开发涉及的方面比较广泛,一般分为采集、音视频的封装、编码、推流、拉流、解封装、解码、播放等阶段。其中音视频的编码和解码阶段是非常重要的步骤。其中编码分为硬编码和软编码,对应解码分为硬解码和软解码。硬编码硬编码是指使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等。硬编码一般性能高,对CPU没有压力,但是对其他硬件要求较高(如GPU等)。软编码软编码是指使用CPU进行编码,软编码通常使用:ffmpeg+x264。软编码实现直接、简单,参数调整方便,升级易原创 2020-08-26 09:30:57 · 476 阅读 · 0 评论 -
iOS视频开发(四):通俗理解YUV数据
前言系列文章:《iOS视频开发(一):视频采集》《iOS视频开发(二):视频H264硬编码》《iOS视频开发(三):视频H264硬解码》《iOS视频开发(四):通俗理解YUV数据》前面我们已经介绍了在iOS开发中如果调用摄像头进行视频数据的采集和编解码。但折腾了这么多,对于YUV这玩意儿还是不是特别理解。其实在我的个人实践过程中我也一直搞不懂这个YUV,一顿恶补之后,我们来通俗一点地讲YUV这个数据格式。1、YUV & RGB概述2、YUV的采样方式3、YUV的储存方式及常见格式4原创 2020-08-25 13:36:38 · 792 阅读 · 0 评论 -
iOS视频开发(三):视频H264硬解码
前言系列文章:《iOS视频开发(一):视频采集》《iOS视频开发(二):视频H264硬编码》《iOS视频开发(三):视频H264硬解码》《iOS视频开发(四):通俗理解YUV数据》上一篇《iOS视频开发(二):视频H264硬编码》我们已经学会了如何对视频数据进行H264编码并且了解了H264码流的基本结构。通常我们将视频进行H264编码是为了进行网络传输,如网络直播、视频会议等应用。网络传输相关的知识点较多且杂,这里我们且先不进行深入研究。我们接着讲对于H264数据,我们如何对其进行解码,本文就来讲原创 2020-08-25 13:35:57 · 932 阅读 · 0 评论 -
iOS视频开发(二):视频H264硬编码
前言系列文章:《iOS视频开发(一):视频采集》《iOS视频开发(二):视频H264硬编码》《iOS视频开发(三):视频H264硬解码》《iOS视频开发(四):通俗理解YUV数据》上一篇《iOS视频开发(一):视频采集》我们已经介绍了如何采集iOS摄像头的视频数据,采集到的原始视频数据量是比较大的,这么大的数据量不利于进行储存或网络传输。于是我们需要对视频数据进行压缩,就像你要向别人传文件时觉得文件太大了,打个rar压缩包再发给对方的道理一样。视频数据的压缩也叫做编码,H264是一种视频编码格式,i原创 2020-08-25 13:35:11 · 2046 阅读 · 1 评论 -
iOS视频开发(一):视频采集
前言系列文章:《iOS视频开发(一):视频采集》《iOS视频开发(二):视频H264硬编码》《iOS视频开发(三):视频H264硬解码》《iOS视频开发(四):通俗理解YUV数据》作为iOS音视频开发之视频开发的第一篇,本文介绍iOS视频采集的相关概念及视频采集的工作原理,后续将对采集后的视频数据进行硬编码、硬解码、播放等流程进行分析讲解。基本概念AVCaptureSession苹果为了管理从摄像头、麦克风等设备捕获到的信息,整了一个叫做AVCaptureSession的东西来对输入和输原创 2020-08-25 13:34:11 · 1614 阅读 · 0 评论