标签 字幕 下的文章

Live Captions 是一个用于 Linux 桌面的应用程序,为视频提供即时、本地和开源的字幕。

在一个完美的世界里,所有的视频都会有文字说明,直播视频也会有字幕。这不仅是没有听力的人能够参与流行文化和视频聊天的要求,对于有听力的人来说,这也是一种奢侈,他们只是喜欢阅读所说的内容。但并不是所有的软件都有内置的字幕,有些软件是依靠第三方的云服务来实现的。Live Captions 是 Linux 桌面上的一个应用,为视频提供即时、本地和开源的字幕。

安装 Live Captions

你可以通过 Flatpak 安装 Live Captions。

如果你的 Linux 发行版没有附带软件中心,请从终端手动安装它。首先,添加 Flathub 仓库:

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

接下来,安装应用:

$ flatpak install flathub net.sapples.LiveCaptions

启动 Live Captions

要启动 Live Captions,从你的应用菜单中启动它。

或者,你也可以使用 flatpak 命令从终端启动它:

$ flatpak run net.sapples.LiveCaptions

你也可以使用类似 Fuzzpak 的命令:

$ fuzzpak LiveCaptions

当 Live Captions 首次启动时,你会看到一个配置页面:

preferences in Live Captions.

你可以设置字体、字体大小、颜色等。默认情况下,Live Captions 不是完全确定的文本会以更深的颜色呈现(LCTT 校注:因为有些语音识别结果不能确保完全正确)。如果你使用实时字幕是为了方便,这可能没有必要,但如果你听不到视频的声音,那么知道哪些文本可能不正确是有用的。

你可以随时返回偏好页面,所以你的选择不一定是最终的。

使用 Live Captions

当 Live Captions 开始运行,任何通过系统声音传来的英语单词都会被打印到 Live Captions 窗口中。

这不是一项云服务。不需要 API 密钥。没有遥测或间谍活动,也没有数据收集。事实上,它甚至不需要网络权限。Live Captions 是开源的,所以没有使用专有的服务或库。

要改变声音输入,请点击 Live Captions 窗口左上方的麦克风图标。要打开 “ 偏好 Preferences ” 窗口,请点击 Live Captions 窗口左下方的齿轮图标。

开放访问

根据我的经验,Live Captions 的结果是好的。它们并不完美,但在小型的 Jitsi 视频通话中,它很出色。即使是小众的视频(例如 Warhammer 40K 的激烈比赛),它也做得出奇地好,只在最虚构的科幻术语上磕磕碰碰。

让开源代码易于访问是至关重要的,最终它有可能使每个人受益。我个人不需要 Live Captions,但当我不想听视频的时候,我喜欢使用它。当我希望得到帮助以专注于我可能会分心的事情时,我也会使用它。Live Captions 不仅仅是一个有趣的开源项目,它也是一个重要的项目。


via: https://opensource.com/article/23/2/live-captions-linux

作者:Seth Kenlon 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

让我分享一个场景:当你想要观看一部电影或视频,而又需要字幕时,在你下载字幕后,却发现字幕没有正确同步,也没有其他更好的字幕可用。现在该怎么做?

你可以 在 VLC 中按 G 或 H 键来同步字幕。它可以为字幕增加延迟。如果字幕在整个视频中的时间延迟相同,这可能会起作用。但如果不是这种情况,就需要 SubSync 出场了。

SubSync: 字幕语音同步器

SubSync 是一款实用的开源工具,可用于 Linux、macOS 和 Windows。

它通过监听音轨来同步字幕,这就是它的神奇之处。即使音轨和字幕使用的是不同的语言,它也能发挥作用。如果有必要,它也支持翻译,但我没有测试过这个功能。

我播放一个视频不同步的字幕进行了一个简单的测试。令我惊讶的是,它工作得很顺利,我得到了完美的同步字幕。

使用 SubSync 很简单。启动这个应用,它会让你添加字幕文件和视频文件。

SubSync 用户界面

你需要在界面上选择字幕和视频的语言。它可能会根据选择的语言下载额外的资源。

SubSync 可下载附加语言支持包

请记住,同步字幕需要一些时间,这取决于视频和字幕的长度。在等待过程完成时,你可以喝杯茶/咖啡或啤酒。

你可以看到正在进行同步的状态,甚至可以在完成之前保存它。

SubSync 同步中

同步完成后,你就可以点击保存按钮,把修改的内容保存到原文件中,或者把它保存为新的字幕文件。

同步完成

我不能保证所有情况下都能正常工作,但在我运行的样本测试中它是正常的。

安装 SubSync

SubSync 是一个跨平台的应用,你可以从它的 下载页面 获得 Windows 和 MacOS 的安装文件。

对于 Linux 用户,SubSync 是作为一个 Snap 包提供的。如果你的发行版已经提供了 Snap 支持,使用下面的命令来安装 SubSync:

sudo snap install subsync

请记住,下载 SubSync Snap 包将需要一些时间。所以要有一个稳定的网络连接或足够的耐心。

最后

就我个人而言,我很依赖字幕。即使我在 Netflix 上看英文电影,我也会把字幕打开。它有助于我清楚地理解每段对话,特别是在有强烈口音的情况下。如果没有字幕,我永远无法理解 电影 Snatch 中 Mickey O'Neil(由 Brad Pitt 扮演)的一句话

使用 SubSync 比 Subtitle Editor 同步字幕要容易得多。对于像我这样在整个互联网上搜索不同国家的冷门或推荐(神秘)电影的人来说,除了 企鹅字幕播放器,这是另一个很棒的工具。

如果你是一个“字幕用户”,你会喜欢这个工具。如果你使用过它,请在评论区分享你的使用经验。


via: https://itsfoss.com/subsync/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:turbokernel

本文由 LCTT 原创编译,Linux中国 荣誉推出

字幕可以使观看视频的体验更加完美。你不需要一定理解视频的语言,字幕可以帮助你用你喜欢的文字来弄清楚正在发生什么。

你在流媒体平台上找到的大部分内容都有字幕,你可能需要为一些你在本地收藏的视频添加字幕。

虽然你可以通过简单地下载 SRT 文件并使用视频播放器加载它来做到这一点,但你如何编辑它,删除它,或转录一个视频?Subtitld 是一个开源的字幕编辑器,它可以帮助你。

Subtitld: 创建、删除、切分和转录字幕

Subtitld 是一个自由开源的项目,可以让你充分利用你的字幕。

如果你没有字幕,就创建一个,如果你需要编辑它,就用这个吧。有了这个开源工具,你会有许多选项来处理字幕。

换句话说,它是字幕编辑器之一,也是一个成熟的字幕编辑器(就我所遇到的而言)。

在你决定试用它之前,让我强调一些关键功能。

Subtitld 的功能

它提供了大量的功能,虽然不是每个人都需要所有的功能,但如果你是一个经常需要创建、编辑和处理字幕的人,它应该会很方便。

下面是它的功能列表:

  • 创建字幕
  • 编辑字幕
  • 使用时间轴移动字幕,手动同步
  • 放大/缩小功能,帮助处理拥挤的时间线
  • 支持保存为 SRT 文件格式
  • 支持各种其他格式的导入和导出(SSA、TTML、SBV、DFXP、VTT、XML、SCC 和 SAMI)
  • 易于调整字幕大小或从时间轴上调整字幕的持续时间
  • 与其他字幕合并,或从项目中切分字幕
  • 能够启用网格,按帧、场景或秒进行可视化
  • 在编辑器中回放以检查字幕情况
  • 在时间轴上捕捉字幕以避免重叠
  • 在字幕中添加/删除
  • 启用安全边界,以确保字幕不会看起来不妥当
  • 调整播放速度
  • 键盘快捷键
  • 自动转录
  • 输出加入了字幕的视频
  • 无限次撤消

除了这些功能外,音频波形的视觉提示也有一定的帮助。

总的来说,如果你是一个转录视频的人,想一次性地编辑视频,你可以用它做很多事情,也可以专业地使用它。

在 Linux 中安装 Subtitld

虽然它也适用于 Windows,但你可以在 Linux 上使用 snap 包 轻松地安装它。你不会找到二进制包或 Flatpak,但你应该能够在任何 Linux 发行版上 使用 snap 安装它。

如果你想深入探索,你可以在 GitLab 上找到源代码。

总结

它有视频同步或添加字幕的精细设置,我只是测试了一些导入、导出、添加或删除字幕的基本功能。

自动转录功能仍处于测试阶段(截至发布时),但用户界面可以再做一些改进。例如,当我把鼠标悬停在编辑器内的按钮上时,它没有告诉我它是做什么的。

总的来说,它是一个在 Linux 上的有用工具。你对它有什么看法?请不要犹豫,在下面的评论中让我知道你的想法。


via: https://itsfoss.com/subtitld/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

我作为一位世界电影和地区电影爱好者已经几十年了。这期间字幕是一个必不可少的工具,它可以使我享受来自不同国家不同语言的优秀电影。

如果你喜欢观看带有字幕的电影,你可能会注意到有时字幕并不同步或者说并不正确。

你知道你可以自己编写字幕并使得它们更完美吗?让我们向你展示一些 Linux 中的基本字幕编辑吧。

Editing subtitles in Linux

从闭路字幕数据中提取字幕

大概在 2012、2013 年我开始了解到有一款叫做 CCEextractor 的工具。随着时间的推移,它已经成为我必不可少的工具之一,尤其是当我偶然发现一份内含有字幕的媒体文件。

CCExtractor 负责解析视频文件以及从 闭路字幕 closed captions 数据中产生独立的字幕文件。

CCExtractor 是一个跨平台的、自由开源工具。自它形成的那年起该工具已经成熟了不少而如今已成为 GSOC 和谷歌编码输入的一部分。

简单来说,这个工具基本上是一系列脚本,这些脚本以一种顺序方式一个接着一个地给你提供提取到的字幕。

你可以按照本页的 CCExtractor 安装指南进行操作。

若安装后你想从媒体文件中提取字幕,请按以下步骤操作:

ccextractor <path_to_video_file>

该命令将会输出以下内容:

$ ccextractor $something.mkv
CCExtractor 0.87, Carlos Fernandez Sanz, Volker Quetschke.
Teletext portions taken from Petr Kutalek's telxcc
--------------------------------------------------------------------------
Input: $something.mkv
[Extract: 1] [Stream mode: Autodetect]
[Program : Auto ] [Hauppage mode: No] [Use MythTV code: Auto]
[Timing mode: Auto] [Debug: No] [Buffer input: No]
[Use pic_order_cnt_lsb for H.264: No] [Print CC decoder traces: No]
[Target format: .srt] [Encoding: UTF-8] [Delay: 0] [Trim lines: No]
[Add font color data: Yes] [Add font typesetting: Yes]
[Convert case: No] [Video-edit join: No]
[Extraction start time: not set (from start)]
[Extraction end time: not set (to end)]
[Live stream: No] [Clock frequency: 90000]
[Teletext page: Autodetect]
[Start credits text: None]
[Quantisation-mode: CCExtractor's internal function]
-----------------------------------------------------------------
Opening file: $something.mkv
File seems to be a Matroska/WebM container
Analyzing data in Matroska mode

Document type: matroska
Timecode scale: 1000000
Muxing app: libebml v1.3.1 + libmatroska v1.4.2
Writing app: mkvmerge v8.2.0 ('World of Adventure') 64bit
Title: $something

Track entry:
    Track number: 1
    UID: 1
    Type: video
    Codec ID: V_MPEG4/ISO/AVC
    Language: mal
    Name: $something
    
Track entry:
    Track number: 2
    UID: 2
    Type: audio
    Codec ID: A_MPEG/L3
    Language: mal
    Name: $something

Track entry:
    Track number: 3
    UID: somenumber
    Type: subtitle
    Codec ID: S_TEXT/UTF8
    Name: $something
 99%  |  144:34
100%  |  144:34
Output file: $something_eng.srt
Done, processing time = 6 seconds
Issues? Open a ticket here
https://github.com/CCExtractor/ccextractor/issues

它会大致浏览媒体文件。在这个例子中,它发现该媒体文件是马拉雅拉姆语言(mal)并且格式是 .mkv。之后它将字幕文件提取出来,命名为源文件名并添加“\_eng”后缀。

CCExtractor 是一款用来增强字幕功能和字幕编辑的优秀工具,我将在下一部分对它进行介绍。

趣味阅读:在 vicaps 有一份有趣的字幕提要,它讲解和分享为何字幕对我们如此重要。对于那些对这类话题感兴趣的人来说,这里面也有许多电影制作的细节。

用 SubtitleEditor 工具编辑字幕

你大概意识到大多数的字幕都是 .srt 格式 的。这种格式的优点在于你可以将它加载到文本编辑器中并对它进行少量的修改。

当进入一个简单的文本编辑器时,一个 srt 文件看起来会是这个样子:

1
00:00:00,959 --&gt; 00:00:13,744
"THE CABINET
OF DR. CALIGARI"

2
00:00:40,084 --&gt; 00:01:02,088
A TALE of the modern re-appearance of an 11th Century Myth
involting the strange and mysterious influence
of a mountebank monk over a somnambulist.

我分享的节选字幕来自于一部非常老的德国电影《卡里加里博士的小屋》(1920)。

Subtitleeditor 是一款非常棒的字幕编辑软件。字幕编辑器可以用来设置字幕持续时间、与多媒体文件同步的字幕帧率以及字幕间隔时间等等。接下来我将在这分享一些基本的字幕编辑。

首先,以安装 ccextractor 工具同样的方式安装 subtitleeditor 工具,使用你自己喜爱的安装方式。在 Debian 中,你可以使用命令:

sudo apt install subtitleeditor

当你安装完成后,让我们来看一下在你编辑字幕时一些常见的场景。

调整帧率使其媒体文件同步

如果你发现字幕与视频不同步,一个原因可能是视频文件的帧率与字幕文件的帧率并不一致。

你如何得知这些文件的帧率呢,然后呢?为了获取视频文件的帧率,你可以使用 mediainfo 工具。首先你可能需要发行版的包管理器来安装它。

使用 mediainfo 非常简单:

$ mediainfo somefile.mkv | grep Frame
 Format settings                          : CABAC / 4 Ref Frames
 Format settings, ReFrames                : 4 frames
 Frame rate mode                          : Constant
 Frame rate                               : 25.000 FPS
 Bits/(Pixel*Frame)                       : 0.082
 Frame rate                               : 46.875 FPS (1024 SPF)

现在你可以看到视频文件的帧率是 25.000 FPS 。我们看到的另一个帧率则是音频文件的帧率。虽然我可以分享为何在视频解码和音频解码等地方会使用特定的 fps,但这将会是一个不同的主题,与它相关的历史信息有很多。

下一个问题是解决字幕文件的帧率,这个稍微有点复杂。

通常情况下,大多数字幕都是压缩格式的。将.zip 归档文件和字幕文件(以 XXX.srt 结尾)一起解压缩。除此之外,通常还会有一个同名的 .info 文件,该文件可能包含字幕的帧率。

如果不是,那么通常最好去某个站点并从具有该帧速率信息的站点下载字幕。对于这个特定的德文文件,我使用 Opensubtitle.org 来找到它。

正如你在链接中所看到的,字幕的帧率是 23.976 FPS 。很明显,它不能与帧率为 25.000 FPS 的视频文件一起很好地播放。

在这种情况下,你可以使用字幕编辑工具来改变字幕文件的帧率。

按下 CTRL+A 选择字幕文件中的全部内容。点击 “Timings -> Change Framerate” ,将 23.976 fps 改为 25.000 fps 或者你想要的其他帧率,保存已更改的文件。

synchronize frame rates of subtitles in Linux

改变字幕文件的起点

有时以上的方法就足够解决问题了,但有时候以上方法并不足够解决问题。

在帧率相同时,你可能会发现字幕文件的开头与电影或媒体文件中起点并不相同。

在这种情况下,请按以下步骤进行操作:

按下 CTRL+A 键选中字幕文件的全部内容。点击 “Timings -> Select Move Subtitle” 。

Move subtitles using Subtitle Editor on Linux

设定字幕文件的新起点,保存已更改的文件。

Move subtitles using Subtitle Editor in Linux

如果你想要时间更精确一点,那么可以使用 mpv 来查看电影或者媒体文件并点击进度条(可以显示电影或者媒体文件的播放进度),它也会显示微秒。

通常我喜欢精准无误的操作,因此我会试着尽可能地仔细调节。相较于人类的反应时间来说,MPV 中的反应时间很精确。如果我想要极其精确的时间,那么我可以使用像 Audacity 之类的东西,但是那是另一种工具,你可以在上面做更多的事情。那也将会是我未来博客中将要探讨的东西。

调整字幕间隔时间

有时,两种方法都采用了还不够,甚至你可能需要缩短或增加间隔时间以使其与媒体文件同步。这是较为繁琐的工作之一,因为你必须单独确定每个句子的间隔时间。尤其是在媒体文件中帧率可变的情况下(现已很少见,但你仍然会得到此类文件)

在这种设想下,你可能因为无法实现自动编辑而不得不手动的修改间隔时间。最好的方式是修改视频文件(会降低视频质量)或者换另一个更高质量的片源,用你喜欢的设置对它进行转码 。这又是一重大任务,以后我会在我的一些博客文章上阐明。

总结

以上我分享的内容或多或少是对现有字幕文件的改进。如果从头开始,你需要花费大量的时间。我完全没有分享这一点,因为一部电影或一个小时内的任何视频材料都可以轻易地花费 4-6 个小时,甚至更多的时间,这取决于字幕员的技巧、耐心、上下文、行话、口音、是否是以英语为母语的人、翻译等,所有的这些都会对字幕的质量产生影响。

我希望自此以后你会觉得这件事很有趣,并将你的字幕处理的更好一点。如果你有其他想要补充的问题,请在下方留言。


via: https://itsfoss.com/editing-subtitles

作者:Shirish 选题:lujun9972 译者:chenmu-kk 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这会是一个有点奇怪的教程。背景故事如下。最近,我创作了一堆 Risitas y las paelleras 素材中sweet parody 的片段,以主角 Risitas 疯狂的笑声而闻名。和往常一样,我把它们上传到了 Youtube,但是从当我决定使用字幕起,到最终在网上可以观看时,我经历了一个漫长而曲折的历程。

在本指南中,我想介绍几个你可能会在创作自己的媒体时会遇到的典型问题,主要是使用字幕方面,然后上传到媒体共享门户网站,特别是 Youtube 中,以及如何解决这些问题。跟我来。

背景故事

我选择的视频编辑软件是 Kdenlive,当我创建那愚蠢的 Frankenstein 片段时开始使用这个软件,从那以后它一直是我的忠实伙伴。通常,我将文件交给带有 VP8 视频编解码器和 Vorbis 音频编解码器的 WebM 容器来渲染,因为这是 Google 所喜欢的格式。事实上,我在过去七年里上传的大约 40 个不同的片段中都没有问题。

Kdenlive, create project

Kdenlive, render

但是,在完成了我的 Risitas&Linux 项目之后,我遇到了一个困难。视频文件和字幕文件仍然是两个独立的实体,我需要以某种方式将它们放在一起。我最初关于字幕的文章提到了 Avidemux 和 Handbrake,这两个都是有效的选项。

但是,我对它们任何一个的输出都并不满意,而且由于种种原因,有些东西有所偏移。 Avidemux 不能很好处理视频编码,而 Handbrake 在最终输出中省略了几行字幕,而且字体是丑陋的。这个可以解决,但这不是今天的话题。

因此,我决定使用 VideoLAN(VLC) 将字幕嵌入视频。有几种方法可以做到这一点。你可以使用 “Media > Convert/Save” 选项,但这不能达到我们需要的。相反,你应该使用 “Media > Stream”,它带有一个更完整的向导,它还提供了一个我们需要的可编辑的代码转换选项 - 请参阅我的教程关于字幕的部分。

错误!

嵌入字幕的过程并没那么简单的。你有可能遇到几个问题。本指南应该能帮助你解决这些问题,所以你可以专注于你的工作,而不是浪费时间调试怪异的软件错误。无论如何,在使用 VLC 中的字幕时,你将会遇到一小部分可能会遇到的问题。尝试以及出错,还有书呆子的设计。

没有可播放的流

你可能选择了奇怪的输出设置。你要仔细检查你是否选择了正确的视频和音频编解码器。另外,请记住,一些媒体播放器可能没有所有的编解码器。此外,确保在所有要播放的系统中都测试过了。

No playable streams

字幕叠加两次

如果在第一步的流媒体向导中选择了 “Use a subtitle file”,则可能会发生这种情况。只需选择所需的文件,然后单击 “Stream”。取消选中该框。

Select file

字幕没有输出

这可能是两个主要原因。一、你选择了错误的封装格式。在进行编辑之前,请确保在配置文件页面上正确标记了字幕。如果格式不支持字幕,它可能无法正常工作。

Encapsulation

二、你可能已经在最终输出中启用了字幕编解码器渲染功能。你不需要这个。你只需要将字幕叠加到视频片段上。在单击 “Stream” 按钮之前,请检查生成的流输出字符串并删除 “scodec=” 的选项。

Remove text from output string

缺少编解码器的解决方法

这是一个常见的 bug,取决于编码器的实现的实验性,如果你选择以下配置文件,你将很有可能会看到它:“Video - H.264 + AAC (MP4)”。该文件将被渲染,如果你选择了字幕,它们也会被叠加上,但没有任何音频。但是,我们可以用技巧来解决这个问题。

AAC codec

MP4A error

一个可能的技巧是从命令行使用 “--sout-ffmpeg-strict=-2” 选项(可能有用)启动 VLC。另一个更安全的解决方法是采用无音频视频,但是带有字幕叠加,并将不带字幕的原始项目作为音频源用 Kdenlive 渲染。听上去很复杂,下面是详细步骤:

  • 将现有片段(包含音频)从视频移动到音频。删除其余的。
  • 或者,使用渲染过的 WebM 文件作为你的音频源。
  • 添加新的片段 - 带有字幕,并且没有音频。
  • 将片段放置为新视频。
  • 再次渲染为 WebM。

Repeat render

使用其他类型的音频编解码器将很有可能可用(例如 MP3),你将拥有一个包含视频、音频和字幕的完整项目。如果你很高兴没有遗漏,你可以现在上传到 Youtube 上。但是之后 ...

Youtube 视频管理器和未知格式

如果你尝试上传非 WebM 片段(例如 MP4),则可能会收到未指定的错误,你的片段不符合媒体格式要求。我不知道为什么 VLC 会生成一个不符合 YouTube 规定的文件。但是,修复很容易。使用 Kdenlive 重新创建视频,将会生成带有所有正确的元字段和 Youtube 喜欢的文件。回到我原来的故事,我有 40 多个片段使用 Kdenlive 以这种方式创建。

P.S. 如果你的片段有有效的音频,则只需通过 Kdenlive 重新运行它。如果没有,重做视频/音频。根据需要将片段静音。最终,这就像叠加一样,除了你使用的视频来自于一个片段,而音频来自于另一个片段。工作完成。

更多阅读

我不想用链接重复自己或垃圾信息。在“软件与安全”部分,我有 VLC 上的片段,因此你可能需要咨询。前面提到的关于 VLC 和字幕的文章已经链接到大约六个相关教程,涵盖了其他主题,如流媒体、日志记录、视频旋转、远程文件访问等等。我相信你可以像专业人员一样使用搜索引擎。

总结

我希望你觉得本指南有帮助。它涵盖了很多,我试图使其直接而简单,并解决流媒体爱好者和字幕爱好者在使用 VLC 时可能遇到的许多陷阱。这都与容器和编解码器相关,而且媒体世界几乎没有标准的事实,当你从一种格式转换到另一种格式时,有时你可能会遇到边际情况。

如果你遇到了一些错误,这里的提示和技巧应该可以至少帮助你解决一些,包括无法播放的流、丢失或重复的字幕、缺少编解码器和 Kdenlive 解决方法、YouTube 上传错误、隐藏的 VLC 命令行选项,还有一些其他东西。是的,这些对于一段文字来说是很多的。幸运的是,这些都是好东西。保重,互联网的孩子们。如果你有任何其他要求,我将来的 VLC 文章应该会涵盖,请随意给我发邮件。

干杯。


via: http://www.dedoimedo.com/computers/vlc-subtitles-errors.html

作者:Dedoimedo 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出