美文网首页
音视频原理AVFoundation

音视频原理AVFoundation

作者: 楼船夜雪_WL | 来源:发表于2021-04-14 17:08 被阅读0次

    1、AVCaptureSession
    2、AVCaptureVideoPreviewLayer
    3、AVCaptureVideoDataOutput
    4、AVCaptureStillImageOutput
    5、AVCaptureAudioDataOutput
    6、AVCaptureDeviceInput: AVMediaTypeVideo AVMediaTypeAudio
    7、AVAssetWriter (可以设置视频属性:帧率;音频属性:码率)
    8、AVAssetWriterInput: [AVAssetWriterInput assetWriterInputWithMediaType:AVMediaTypeVideo / AVMediaTypeAudio]
    9、AVAssetWriter 添加输入源:AVAssetWriterInput

    • (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection

    10、输入源输入:数据流 AVAssetWriterInput appendSampleBuffer:sampleBuffer

    视频学习:
    https://www.bilibili.com/video/BV14b411J7WF?from=search&seid=14157488951126452002

    11、视频渲染:显示到屏幕中(直播,短视频)
    1、基于ffmpey的 ijkplayer kxmovie (播放器的源码分析!,这个2个框架视频渲染用OpenGL ES)
    2、AVFoundation 视频采集、剪辑处理;GPUImage(开源)滤镜框架基于OpenGL ES(CoreImage难用、不开源)
    3、编码 VideoToolBox / ffmpeg
    4、播放:解码VideoToolBox / ffmpeg (audioToolbox 音频)
    5、显示(KXMovie / ijkplayer / 直接显示OpenGL ES / Metal)

    **编码就是压缩


    截屏2021-04-1018.03.42.png

    12
    Y:亮度 UV:色度
    图片渲染:
    CPU:计算frame,解码。加载到CPU中没有立马还原成位图的
    GPU:坐标、位图(纹理)
    2018年底层OpenGL ES 图片渲染 ->19年后Metal

    13
    顶点着色器:计算坐标;片元着色器:填充颜色

    14 直播APP架构


    直播APP架构.png

    15 GPUImage 视频处理 Android gafika库

    16 编码方式(iOS 软硬编码都支持)
    硬编码:非CPU进行编码,GPU(硬件编码)
    软编码:使用CPU进行编码(手机容易发热)【ffmpeg】

    17 iOS端:硬件兼容性好,直接进行硬编码
    Android:推荐使用软编
    18 编码标准
    视频标准:H264 H265 VP8 VP9(Goole)
    音频编码:AAC

    19 推流(流媒体)
    RTMP(基于TCP) HLS (基于HTTP)
    20 流分发
    适配不同平台的协议:RTMP、HLS、FLV 以及各个平台( ios Android PC 网页)

    21 播放:解码、渲染


    截屏2021-04-1413.39.22.png

    22
    16帧以上不会觉得卡顿,一般是30帧

    23
    H264分层设计
    视频编码成:VCL 网络提取层:NAL

    24 软硬编码


    截屏2021-04-1416.28.55.png

    25 硬编码实现


    截屏2021-04-1416.40.33.png

    26 h264(编码格式)是视频编码,没有音频

    相关文章

      网友评论

          本文标题:音视频原理AVFoundation

          本文链接:https://www.haomeiwen.com/subject/ctsnkltx.html