如何为 QuickTime 电影添加字幕

Posted

技术标签:

【中文标题】如何为 QuickTime 电影添加字幕【英文标题】:How to add subtitles to a QuickTime movie 【发布时间】:2014-12-02 12:23:30 【问题描述】:

我正在使用 AxQTOControlLib.AxQTControl QuickTime C# COM 组件在我的软件中显示视频。我想为视频添加字幕。

我知道 quicktime 文件可以使用以下字符串格式嵌入字幕:

QTtextfont:Arialplainsize:12textColor: 65535, 65535, 65535backColor: 0, 0, 0  
justify:lefttimeScale:15width:587height:33timeStamps:absolutelanguage:0
textEncoding:256

[0:00:00.10]
I said hello, Dolly,

[0:00:03.10]
Well, hello, Dolly

[0:00:06.20]
It's so nice to have you back where you belong

...

不幸的是,我找不到任何有关如何以编程方式将此文本轨道添加到电影的信息...

我尝试了另一种解决方案,包括在AxQtControl 上方添加透明System.Windows.Form.Label,但透明度不起作用。

有什么想法吗?

【问题讨论】:

答案可能在某处here。 其实我有这本书的印刷版,但资料欠缺 【参考方案1】:

您以前可以将这些文件打开到 quicktime 播放器(或任何 quicktime 播放小工具)中,它会自动变成一个文本轨道。 (就像导入 mp3 文件变成音轨一样)。你试过吗?

一旦成为电影曲目,您就可以像添加其他曲目一样添加它。

【讨论】:

“你添加它就像任何其他”如何?【参考方案2】:

也许是这样的(对 VB 感到抱歉):

With AxQTControl2.Movie 
Dim trkSubtitle As QTTrack = .Tracks(.Tracks.Count) 
If Not trkSubtitle Is Nothing Then 
    trkSubtitle.top = .Height - trkSubtitle.Height
    trkSubtitle.TransferMode = QTTransferModesEnum.qtTransferModeBlend 
    trkSubtitle.OperationColor = "32768, 32768, 32768" 
    trkSubtitle.HighQualityMode = True 
End If 
.Time = 0 
.SelectionDuration = 0
End

【讨论】:

我会尝试添加,但我没有AxQTControl2 只有AxQTControl AXQTControl2 是变量名还是类型?常见的规则是变量名以小写字母开头 以下代码不会向轨道添加任何文本数据。

以上是关于如何为 QuickTime 电影添加字幕的主要内容,如果未能解决你的问题,请参考以下文章

如何为 YouTube 直播添加字幕?

如何为单元格添加额外的字幕

怎么把字幕放到电影里 把字幕嵌入视频

quick time安装不了?

如何为VOD点播配置字幕

如何为添加到收藏夹列表的组件保留状态