gpt4 book ai didi

iphone - 使用 HTTP NSURL 创建 AVAsset

转载 作者:可可西里 更新时间:2023-11-01 06:23:23 25 4
gpt4 key购买 nike

我正在尝试合并两个包含视频引用的 NSURL。其中一个 url 指向 AWS 上的视频,另一个指向本地存储的视频。我的导出代码有效,因为我已经尝试使用两个本地视频,但每当我尝试合并 HTTP url 和本地 url 时,我都会收到此错误:Error Domain=NSURLErrorDomain Code=-1100 "The requested URL was not found在这个服务器上。” UserInfo=0x155d2f20 {NSUnderlyingError=0x155b4f60 “操作无法完成。没有这样的文件或目录”,NSLocalizedDescription=在此服务器上找不到请求的 URL。这是创建 AVAssets 的代码:

AVAsset *firstAsset = [AVAsset assetWithURL:awsURL];

AVAssetExportSession 是否需要使用本地 url?

最佳答案

@MichaelScaria,非常感谢您发布您的发现,我在这上面待了大约 3 天。下面是我尝试从本地 url 和远程 url 获取 AVAssets 时的完整解决方案

+ (AVAsset*)getAVAssetFromRemoteUrl:(NSURL*)url 
{
if (!NSTemporaryDirectory())
{
// no tmp dir for the app (need to create one)
}

NSURL *tmpDirURL = [NSURL fileURLWithPath:NSTemporaryDirectory() isDirectory:YES];
NSURL *fileURL = [[tmpDirURL URLByAppendingPathComponent:@"temp"] URLByAppendingPathExtension:@"mp4"];
NSLog(@"fileURL: %@", [fileURL path]);

NSData *urlData = [NSData dataWithContentsOfURL:url];
[urlData writeToURL:fileURL options:NSAtomicWrite error:nil];

AVAsset *asset = [AVAsset assetWithURL:fileURL];
return asset;
}
+ (AVAsset*)getAVAssetFromLocalUrl:(NSURL*)url
{
AVURLAsset *asset = [AVAsset assetWithURL:url];
return asset;
}

关于iphone - 使用 HTTP NSURL 创建 AVAsset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18139203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com