AVAsynchronousVideoCompositionRequestsourceFrameByTrackIDnilforvideowithalpha
创始人
2024-11-12 20:30:37
0次

这是一个视频合成中的常见错误,通常在视频包含 alpha 通道时会出现。要解决此问题,需要将合成项目中的每个视频轨道的 sourceTrackID 属性设置为唯一的 ID 值,以确保能够正确地检索每个轨道中的帧。以下是一个示例代码,用于设置两个视频轨道的 ID 值:

AVMutableComposition *composition = [AVMutableComposition composition];

// 添加第一个视频轨道
AVMutableCompositionTrack *videoTrack1 = [composition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
videoTrack1.preferredTransform = CGAffineTransformMakeRotation(M_PI_2);
AVAsset *asset1 = [AVAsset assetWithURL:[NSURL fileURLWithPath:@"video1.mov"]];
AVAssetTrack *assetTrack1 = [asset1 tracksWithMediaType:AVMediaTypeVideo].firstObject;
CMTimeRange assetTimeRange1 = CMTimeRangeMake(kCMTimeZero, asset1.duration);
[videoTrack1 insertTimeRange:assetTimeRange1 ofTrack:assetTrack1 atTime:kCMTimeZero error:nil];
videoTrack1.sourceTrackID = kCMPersistentTrackID_Invalid; // 设置第一个视频轨道的 ID 值

// 添加第二个视频轨道
AVMutableCompositionTrack *videoTrack2 = [composition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
videoTrack2.preferredTransform = CGAffineTransformMakeRotation(M_PI_2);
AVAsset *asset2 = [AVAsset assetWithURL:[NSURL fileURLWithPath:@"video2.mov"]];
AVAssetTrack *assetTrack2 = [asset2 tracksWithMediaType:AVMediaTypeVideo].firstObject;
CMTimeRange assetTimeRange2 = CMTimeRangeMake(kCMTimeZero, asset2.duration);
[videoTrack2 insertTimeRange:assetTimeRange2 ofTrack:assetTrack2 atTime:kCMTimeZero error:nil];
videoTrack2.sourceTrackID = kCMPersistentTrackID_Invalid + 1; // 设置第二个视频轨道的 ID 值

注意:在代码示例中,我们将第一个视频轨道的 ID 值设置为 kCMPersistentTrackID_Invalid,这是一个保留值,用于表示 '无效的 ID 值” 。

此外,还要确保视频合成器的应用程序配方中,处理 AVVideoCompositionRenderContext 的透明度是正确的。例如,以下代码演示了如

相关内容

热门资讯

我来教教你透视器app!去玩麻... 我来教教你透视器app!去玩麻将多功能透视器app,去玩麻将一贯真的有透视器app去玩麻将能透视中分...
实测发现开挂教程!西域麻将多功... 实测发现开挂教程!西域麻将多功能开挂教程,西域麻将好像真的是有开挂教程运西域麻将辅助工具,进入游戏界...
科普常识辅助器攻略!琼崖海南麻... 科普常识辅助器攻略!琼崖海南麻将多功能辅助器攻略,琼崖海南麻将真是存在有辅助器攻略1、下载好琼崖海南...
揭秘关于辅助工具!嵘聚多功能辅... 揭秘关于辅助工具!嵘聚多功能辅助工具,嵘聚竟然是有辅助工具该软件可以轻松地帮助玩家将嵘聚外卦神器提升...
实操分享透视器攻略!家乡鹤游多... 实操分享透视器攻略!家乡鹤游多功能透视器攻略,家乡鹤游原来存在有透视器攻略1)家乡鹤游辅助插件:进一...
分享开挂内幕辅助器软件!指尖棋... 分享开挂内幕辅助器软件!指尖棋牌多功能辅助器软件,指尖棋牌果然真的是有辅助器软件1、游戏颠覆性的策略...
最新通报开挂方法!天津麻将多功... 最新通报开挂方法!天津麻将多功能开挂方法,天津麻将总是存在有开挂方法1、游戏颠覆性的策略玩法,独创攻...
玩家亲测作弊器软件!千游科技多... 玩家亲测作弊器软件!千游科技多功能作弊器软件,千游科技原来真的是有作弊器软件1、千游科技模拟器是什么...
揭秘透视器方法!哈哈长沙麻将多... 揭秘透视器方法!哈哈长沙麻将多功能透视器方法,哈哈长沙麻将总是是真的有透视器方法1、不需要AI权限,...
推荐十款作弊器工具!嵘聚多功能... 推荐十款作弊器工具!嵘聚多功能作弊器工具,嵘聚一贯真的有作弊器工具1、下载好嵘聚脚本下载之后点击打开...