如何使用QTKit设置QTMedia / QTTrack的alpha模式



我正在尝试添加字幕到现有的电影和一切似乎如预期的工作,除了字幕轨道的背景,应该是透明的。

MediaHandler media = GetMediaHandler([[subtitlesTrack media] quickTimeMedia]);
MediaSetGraphicsMode(media, graphicsModeStraightAlpha, NULL);

我已经尝试了上面的代码在这里找到,但我不能使用GetMediaHandler和MediaSetGraphicsMode函数。也许我遗漏了一些内容。

如果可能的话,我宁愿只使用QTKit框架。

如果您在32位Mac应用程序中使用此代码作为示例,为了使alpha透明度正常工作,MediaSetGraphicsMode()的第二个参数必须是graphicsModePreBlackAlpha。

如果你使用graphicsmodestraight talpha,压缩成QuickTime媒体后的视频帧将没有alpha通道,至少在Mac OS 10.10.5下是这样。

您还需要确保使用支持alpha通道的视频编解码器-并不是所有的视频编解码器都支持alpha通道。

相关内容

  • 没有找到相关文章