如何在视频上绘制文本以在 iOS 上显示字幕?

Posted

技术标签:

【中文标题】如何在视频上绘制文本以在 iOS 上显示字幕?【英文标题】:How to draw text on video to show subtitle on iOS? 【发布时间】:2011-07-04 07:41:26 【问题描述】:

如何在 ios 上使用覆盖视图在视频上方显示字幕?

【问题讨论】:

【参考方案1】:

你可以使用 UILabel 创建一个覆盖视图来显示如下的字幕

//Overlay View
UILabel *lblOverlayView = [[UILabel alloc] init];
lblOverlayView.frame = CGRectMake(0, 459, 320, 21);
lblOverlayView.backgroundColor = [UIColor yellowColor];
lblOverlayView.alpha = 0.3f;
lblOverlayView.text = @"Video Subtitle";

然后您可以将其作为子视图添加到 MPMoviePlayerController 的视图中,以便在播放视频时显示字幕。

[_mpMoviePlayerController.view addSubview:lblOverlayView];

这里,_mpMoviePlayerController 是 MPMoviePlayerController 的一个对象。 希望这能帮助您满足要求。

【讨论】:

谢谢,终于实现了这个功能。感谢 Kapil Mandlik,感谢互联网,谢谢大家。 您的代码正在运行,但您的 CGRectMake(0, 459, 320, 21);在横向模式下可能会超出 iPhone 屏幕的可见区域。【参考方案2】:

在显示视频的视图中添加一个子视图并将其放在前面。 这可能会有所帮助:

[myView bringSubviewToFront: subtitleView];

【讨论】:

以上是关于如何在视频上绘制文本以在 iOS 上显示字幕?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python 中的 csv 视频上显示文本

Pr如何在视频中插入文本?

如何使用 ffmpeg 在视频中的任意位置显示大量字幕?

SRT 字幕的最大尺寸

如何在视频字幕/字幕 (VTT) 中添加上标符号

如何映射用ffmpeg和视频字幕提取的帧? (帧精度问题)