如何使用带有 AVMutableComposition 的 GPUImageMovie 进行搜索
How to seek with GPUImageMovie with AVMutableComposition
我有一个AVMutableComposition
(这是一个AVAsset
),我正在使用GPUImage
(https://github.com/BradLarson/GPUImage)通过[=14=来过滤它].它正在运行,但我需要实现搜索功能。
我目前正在用我的可变组合初始化 GPUImageMovie
:
[[GPUImageMovie alloc] initWithAsset:asset];
但是,根据 GPUImageMovie playback controls 我需要创建自己的播放器和播放器项目,然后用它初始化电影:
videoPlayerItem = [[AVPlayerItem alloc] initWithAsset:asset];
videoPlayer = [[AVPlayer alloc] initWithPlayerItem:videoPlayerItem];
GPUImageMovie *video = [[GPUImageMovie alloc] initWithPlayerItem:videoPlayerItem];
但是,当我尝试使用 [videoPlayer seekToTime:kCMTimeZero]; [videoPlayer play];
以这种方式播放电影时,我得到一个空白播放器。什么都不是 nil
等,但它根本不显示任何内容。
我能找到的唯一 question/answer 是这个:
GPUImageMovie not playing video file when initWithPlayerItem
尽管它的解决方案与我无关,因为问题出在 URL 方案上,我没有(我的不是 URL 资产,而是可变组合)。
我怎样才能 control/seek 一个 AVMutableComposition
作为 GPUImageMovie
来玩? (是的,我需要使用 GPUImageMovie
,整个处理管道紧密耦合才能使用它)(我的目标是 iOS 9+)
披露:这是一种变通方法,不是真正的解决方案。
我最终根据原始视频创建了一个新的 AVPlayer
,并用它来控制播放。当然,即使它适合我对这个特定项目的需求(因为我不需要在我需要控制播放的地方过滤视频),它可能不适合每个人的需求。
我有一个AVMutableComposition
(这是一个AVAsset
),我正在使用GPUImage
(https://github.com/BradLarson/GPUImage)通过[=14=来过滤它].它正在运行,但我需要实现搜索功能。
我目前正在用我的可变组合初始化 GPUImageMovie
:
[[GPUImageMovie alloc] initWithAsset:asset];
但是,根据 GPUImageMovie playback controls 我需要创建自己的播放器和播放器项目,然后用它初始化电影:
videoPlayerItem = [[AVPlayerItem alloc] initWithAsset:asset];
videoPlayer = [[AVPlayer alloc] initWithPlayerItem:videoPlayerItem];
GPUImageMovie *video = [[GPUImageMovie alloc] initWithPlayerItem:videoPlayerItem];
但是,当我尝试使用 [videoPlayer seekToTime:kCMTimeZero]; [videoPlayer play];
以这种方式播放电影时,我得到一个空白播放器。什么都不是 nil
等,但它根本不显示任何内容。
我能找到的唯一 question/answer 是这个:
GPUImageMovie not playing video file when initWithPlayerItem
尽管它的解决方案与我无关,因为问题出在 URL 方案上,我没有(我的不是 URL 资产,而是可变组合)。
我怎样才能 control/seek 一个 AVMutableComposition
作为 GPUImageMovie
来玩? (是的,我需要使用 GPUImageMovie
,整个处理管道紧密耦合才能使用它)(我的目标是 iOS 9+)
披露:这是一种变通方法,不是真正的解决方案。
我最终根据原始视频创建了一个新的 AVPlayer
,并用它来控制播放。当然,即使它适合我对这个特定项目的需求(因为我不需要在我需要控制播放的地方过滤视频),它可能不适合每个人的需求。