首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏落影的专栏

    GPUImage详细解析(八)视频合并混音

    知识储备 1、AVFoundation AVAssetReader 从原始数据里获取音视频数据 AVAssetReaderTrackOutput 读取每帧的CMSampleBufferRef AVAssetTrack 核心思路 1、异步初始化音视频的AVAssetReader; 2、调用dispatch_group_leave通知异步加载完成; 3、通过dispatch_group_notify开始录制; 4、开始异步合并视频信息 endProcessing]; } return NO; } THImageMovieWriter 下面是核心的逻辑,设置多个音轨的合并信息,并通过AVMutableComposition设置为AVAssetReader atTime:kCMTimeZero error:nil]; } } self.assetAudioReader = [AVAssetReader

    2.3K50发布于 2018-04-27
  • 来自专栏微信终端开发团队的专栏

    iOS微信小视频优化心得

    AVAssetReader+AVAssetReaderTrackOutput 既然AVPlayer在播放视频时会有性能问题,我们不如做自己的播放器。 AVAssetReader可以从原始数据里获取解码后的音视频数据。结合AVAssetReaderTrackOutput,能读取一帧帧的CMSampleBufferRef。 为此,我们可以写个MMovieDecoder的类,负责视频解码,每读出一个SampleBuffer就往上层回调: AVAssetReader* reader = [[AVAssetReader alloc AVAssetReader也能decode音频的SampleBuffer,不过本人还没想到如何播放CMSampleBufferRef的音频,目前只能静音播放。 4.

    5K91发布于 2018-01-29
  • 来自专栏DevTips

    AVFoundation 框架介绍

    AVURLAsset 通过 URL 创建,URL 可以是本地资源,也可以是网络资源 AVComposition 可以将多个基于本地文件的媒体数据以自定义的时间安排组合在一起, 用以呈现或处理多个源的媒体数据 AVAssetReader 你可以使用 addOutput: 将一个或多个 AVAssetReaderOutput 添加到 AVAssetReader 对象中来读取资产的媒体数据 AVAssetTrack 媒体资产轨道对象 相比 AVAssetExportSession AVAssetReader + AVAssetWriter 可以有更细粒度的配置,比如我们可以将 CMSampleBuffer 经过特效处理后写入文件

    4K11发布于 2019-11-05
  • 来自专栏关键帧Keyframe

    iOS 音频处理框架及重点 API 合集丨音视频工程示例

    AVAssetReader[103]:用于从 AVAsset 资源中读取媒体数据。 canAddOutput:[104]:检查 AVAssetReader 是否支持添加对应的 AVAssetReaderOutput。 addOutput:[105]:给 AVAssetReader 添加一个 AVAssetReaderOutput。注意必须在 AVAssetReader 开始读取之前添加。 language=objc [103]AVAssetReader: https://developer.apple.com/documentation/avfoundation/avassetreader language=objc [106]startReading: https://developer.apple.com/documentation/avfoundation/avassetreader

    2.5K20编辑于 2022-06-13
  • 来自专栏音视频咖

    从QQ音乐开发,探讨如何利用腾讯云SDK在直播中加入视频动画

    AVAssetReader 解码视频 使用AVAssetReader解码出yuv比较简单,下面直接贴出代码:     AVURLAsset *asset = [AVURLAsset URLAssetWithURL :[[NSURL alloc] initFileURLWithPath:path] options:nil];     NSError *error;     AVAssetReader* reader  = [[AVAssetReader alloc] initWithAsset:asset error:&error];     NSArray* videoTracks = [asset tracksWithMediaType

    3.4K10发布于 2018-09-19
  • 来自专栏关键帧Keyframe

    iOS 视频处理框架及重点 API 合集丨音视频工程示例

    3)Demuxer AVAssetReader[119]:用于从 AVAsset 资源中读取媒体数据。 canAddOutput:[120]:检查 AVAssetReader 是否支持添加对应的 AVAssetReaderOutput。 addOutput:[121]:给 AVAssetReader 添加一个 AVAssetReaderOutput。注意必须在 AVAssetReader 开始读取之前添加。 language=objc [119] AVAssetReader: https://developer.apple.com/documentation/avfoundation/avassetreader language=objc [121] addOutput:: https://developer.apple.com/documentation/avfoundation/avassetreader

    2.7K21编辑于 2022-06-13
  • 来自专栏sweet_iOS

    AVFoundation框架解析看这里(1)- 概论

    import AVFoundation.AVAssetExportSession import AVFoundation.AVAssetImageGenerator import AVFoundation.AVAssetReader 资产类可通过这个类获得图片、文件、媒体库 AVAssetExportSession资源导出会话:是一个通过资源文件对象去创建一个指定预设的输出的转码内容会话 AVAssetImageGenerator用于截取视频某帧的画面 AVAssetReader

    2K21发布于 2020-12-23
  • 来自专栏iOSer成长记录

    iOS-Core系列框架介绍(二)

    import AVFoundation.AVAssetExportSession import AVFoundation.AVAssetImageGenerator import AVFoundation.AVAssetReader

    1.4K50发布于 2018-06-29
  • 来自专栏DevTips

    iOS/Android 音视频开发专题

    实现音视频同步器 Android 音视频播放器实现快速预览精准 seek Android 音视频播放器总结 iOS 专题计划: GPUImage 介绍 iOS AVFoundation 介绍 iOS 使用 AVAssetReader

    1K10编辑于 2022-01-20
  • 来自专栏落影的专栏

    iOS音视频播放(Audio Unit播放音频+OpenGL ES绘制视频)

    资源加载:是用AVURLAsset加载资源文件,再创建资源读取器AVAssetReader,然后附加音频读取接口mReaderAudioTrackOutput和视频读取接口mReaderVideoTrackOutput

    2.9K90发布于 2018-04-27
  • 来自专栏一“技”之长

    iOS MachineLearning 系列(6)—— 视频中的物体轨迹分析

    AVAssetReader(asset: asset) // 添加输出对象 assetReader.add(assetReaderOutput) // 开始解析 if assetReader.startReading

    80740编辑于 2023-05-02
  • 来自专栏关键帧Keyframe

    iOS AVDemo(4):音频解封装,从 MP4 中解封装出 AAC丨音视频工程示例

    ; } @property (nonatomic, strong, readwrite) KFDemuxerConfig* config; @property (nonatomic, strong) AVAssetReader // 使用 AVAssetReader 作为解封装器。解封装的目标是 config 中的 AVAsset 资源。 _demuxReader = [[AVAssetReader alloc] initWithAsset:self.config.asset error:error]; if (!

    75030编辑于 2022-06-13
  • 来自专栏落影的专栏

    GPUImage详细解析(十三)多路视频绘制

    与方案2相比,有几个不同点: 1、CADisplayLink驱动渲染,并且每次只读取当前最新帧; 2、引入LYAssetReader,LYAssetReader是对AVAssetReader和AVAssetReaderTrackOutput

    2.6K50发布于 2018-06-13
  • 来自专栏携程技术

    干货 | 移动端使用OpenGL转场特效的音视频合成应用

    AVAssetTrack *assetAudioTrack = [audioAsset tracksWithMediaType:AVMediaTypeAudio].firstObject; //创建读取器 AVAssetReader *assetReader = [[AVAssetReader alloc] initWithAsset:audioAsset error:&error]; //读取音频track中的数据 NSDictionary

    1.1K11编辑于 2023-11-11
  • 来自专栏音视频技术

    高性能且灵活的 iOS 视频剪辑与特效开源框架 – VideoLab

    再看我之前工作的美拍,它最早是用的AVFoundation + GPUImage,因为那会时间比较早,所以都是直接用AVAssetReader + AVAssetWriter,后面转成了FFmpeg +

    2.1K20编辑于 2021-12-13
领券