如何在 iOS 中为 mp4 添加字幕
how to add subtitle to mp4 in iOS
我已经知道我应该使用 AVFoundation 从 .mp4 文件中获取 CGContextRef;
并像这样使用:
CATextLayer *subtitle1Text = [[CATextLayer alloc] init];
[subtitle1Text setFont:@"Helvetica-Bold"];
[subtitle1Text setFontSize:36];
[subtitle1Text setFrame:CGRectMake(0, 0, size.width, 400)];
[subtitle1Text setString:[self.subtitles objectAtIndex:idx]];
[subtitle1Text setAlignmentMode:kCAAlignmentCenter];
[subtitle1Text setForegroundColor:[[UIColor whiteColor] CGColor]];
[subtitle1Text drawInContext:context];
制作字幕;
现在的问题是如何从 .mp4 文件中获取 CGContextRef?
我的意思是我有 url 的 .mp4 文件,但是如何在 mp4 中添加 CATextLayer?
您必须使用 AVFoundation 框架才能在视频上添加文本,您可以查看以下 link 以了解更多详细信息。您已经在视频层上添加了文本层,然后必须将其导出。
查看下面的示例代码,有一种方法可以添加水印,您可以通过更改一些属性(例如开始时间和结束时间)来创建字幕。
我已经知道我应该使用 AVFoundation 从 .mp4 文件中获取 CGContextRef;
并像这样使用:
CATextLayer *subtitle1Text = [[CATextLayer alloc] init];
[subtitle1Text setFont:@"Helvetica-Bold"];
[subtitle1Text setFontSize:36];
[subtitle1Text setFrame:CGRectMake(0, 0, size.width, 400)];
[subtitle1Text setString:[self.subtitles objectAtIndex:idx]];
[subtitle1Text setAlignmentMode:kCAAlignmentCenter];
[subtitle1Text setForegroundColor:[[UIColor whiteColor] CGColor]];
[subtitle1Text drawInContext:context];
制作字幕;
现在的问题是如何从 .mp4 文件中获取 CGContextRef?
我的意思是我有 url 的 .mp4 文件,但是如何在 mp4 中添加 CATextLayer?
您必须使用 AVFoundation 框架才能在视频上添加文本,您可以查看以下 link 以了解更多详细信息。您已经在视频层上添加了文本层,然后必须将其导出。
查看下面的示例代码,有一种方法可以添加水印,您可以通过更改一些属性(例如开始时间和结束时间)来创建字幕。