问题标签 [video-subtitles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
232 浏览

mp4 - Python,用 mp4 组成 srt 文件

我正在尝试自动化字幕。我有字幕,但我不知道如何用脚本编写视频(通常我使用 VLC)。有任何 API 或库吗?

0 投票
1 回答
88 浏览

filter - Ffmpeg - 使用覆盖缩小视频

我正在尝试对带有字幕覆盖的视频进行转码,但我需要将其从 4k 缩小到 1080。我将如何使用复杂的过滤器来做到这一点?

0 投票
0 回答
50 浏览

ffmpeg - 使用ffmpeg将vobsubs刻录到MP4时设置半透明框

我正在使用 ffmpeg 转换一些旧视频。有些有 VobSub 字幕,所以我将它们硬编码。有没有办法在字幕后面添加一个半透明框以便于阅读?

0 投票
0 回答
474 浏览

android - Exoplayer 2.12,不加载本地字幕

即使在通过 Stackoverflow 和其他线程上的许多问题之后,我们也无法在 Exoplayer 中找到任何解决字幕问题的方法。

以下是我们用来从本地存储加载视频和字幕的代码片段。

absolutePath是视频vtt的路径,也是 .srt 字幕文件的路径。我们非常感谢任何建议或替代方法来实现这一目标。

0 投票
1 回答
164 浏览

loops - 循环连接两个文件的ffmpeg命令

命令ffmpeg -i file-1.mp4 -vf ass=file-1a.ass burned-1.mp4

用于在 file-1.mp4 视频上刻录 file-1a.ass 字幕。

但是每次我都必须对 40 多个不同的视频和字幕重复相同的命令,并且每次我都必须等待渲染输出。

因此,也许有一种方法可以自动对所有文件重复相同的命令。

找回复发现loop命令 for f in *; do ffmpeg $f;

但我很困惑如何将它与 2 个文件一起使用,.mp4 和 .ass 文件,以及应该具有相同编号的输出文件

我想应该在每对文件上放相同的名称,例如:1.mp4 1.ass 2.mp4 2.ass 3.mp4 3.ass 等

接着 for f in *; do ffmpeg -i $f.mp4 -vf ass=$f.ass $f-output.mp4

但我没有明确的想法

0 投票
1 回答
71 浏览

html - 如何正确发布带字幕的 html5 视频 [seo]

我必须如何发布带有两种语言(或 n)字幕的视频?

  1. 多合一出版物(一个网址) 本出版物附带的所有文本均为英文。
  1. 制作两个出版物(两个不同的网址)

a) 本出版物随附的所有文本均为英文。

b) 本出版物随附的所有文本均为西班牙语。

“以英语出版,但提供更多语言的视频字幕”或“每种语言的出版物和以该语言字幕的视频”?

更具体地说,视频是用户内容发布。用户以他的语言发布视频(也许可以建议以其他语言发布......)并且可以选择上传不同语言的字幕。我必须如何管理这个?哪种情况更好?

用户可以在他的视频中添加一些不同语言的字幕(案例1)

或者

用户只能以他的语言发布字幕。而对于其他语言必须改变语言,并用另一个字幕制作另一个出版物(案例2)

0 投票
1 回答
848 浏览

javascript - How to convert .ass & .ssa subtitles files fomats to webvtt format in js?

I know how to transform .srt file format to webvtt format in javascript , I want to know how to do the same with .ass & .ssa subtitles files formats to be able to parse them and transform to webvtt format on the fly without using file stream using javascript .

0 投票
1 回答
377 浏览

ffmpeg - 如何使用 ffmpeg 从 ts 中提取“GROUP-ID”、“LANGUAGE”和“INSTREAM-ID”

我正在尝试从实时提要的片段中获取字幕。我正在运行命令

ffmpeg -i seg-1077853030-v1-a1.ts

输出

`输入 #0,mpegts,来自 'seg-109853030-v1-a1.ts':持续时间:00:00:06.01,开始:57867.901133,比特率:2649 kb/s 程序 1

我的问题是我应该运行什么命令来打印带有轨道元数据的字幕文件,包括标签和语言。

0 投票
1 回答
124 浏览

ffmpeg - Apple Automator、Shell 脚本和批处理文件 - 视频字幕

我正在制作一个将 SRT 刻录到 MP4 的工作流程。它正在工作,但我希望它转到文件夹的所有文件,即使使用“增量分配项目”也找不到方法。

我将 SRT 和 MP4 放在同一个文件夹中,因此我需要工作流来过滤结果以仅尝试使用 MP4 文件的脚本,这可能是“分配项目”的问题。

因为字幕文件进入同一目录,过滤器也排除了以“_SUB”命名的文件。

如果有人有想法,图片如下......我对其他方法持开放态度。我只需要转到一个包含 44 个 MP4 文件(和同名的 .SRT)的文件夹,然后对带有字幕的视频进行批量编码。

谢谢你,路易斯

在此处输入图像描述

0 投票
1 回答
209 浏览

react-native - React Native 和 FFMPEG 以不同的方式呈现文本

我正在 React Native 中创建一个视频编辑应用程序,它允许您将字幕刻录到任何视频上。我遇到的问题是手机屏幕上的字体大小与渲染视频后的字体大小不匹配。

我可以保证在应用程序端适当地缩小文本,因为视频在手机屏幕上看起来明显比原始尺寸小。因此,我作为预览放置在视频顶部的文本需要相应地缩小。

问题是当我渲染视频时,每种不同的字体似乎都有不同的比例因子。所以预览器总是关闭。我的解决方案是手动放大/缩小每种字体的近似宽度和高度因子。但这是一个非常糟糕的解决方案。

我认为它与您可以在 ffmpeg 上设置的名为 font.config 的文件有关。

我怎么能做例如。React Native 中的 Arial, 14 渲染方式与 ffmpeg 上的 Arial, 14 相同吗?我真的需要帮助。我什至不知道在哪里看。

更新示例***

如您所见,我正在尝试在原始视频上渲染大小为 93 的字幕。 在此处输入图像描述

由于手机屏幕上渲染的视频比原始视频小,我计算了一个调整大小因子,即:

现在我只是调整了应用程序上的文本大小,如下所示:

之后,预览文本将被调整为比原始视频小 N 倍。N 与视频本身调整大小以进行渲染的数字相同。所以一切都应该看起来很完美。

但问题是每种字体的行为不同,并且每种字体的调整大小错误也不同。没有模式。

另一个使用 Open-SansRegular 字体的示例: 在此处输入图像描述

Arial 字体的另一个例子: 在此处输入图像描述

我的解决方案是在第一个逻辑 resizeFactor 之上为字体高度手动选择另一个调整大小因子。

这不是一个好的解决方案,因为用户无法添加自己的字体,因为我需要先“校准”每个字体。 在此处输入图像描述

我还尝试将应用程序上的文本呈现为与视频上的文本相同的大小,然后应用变换:[{scale: 1/resizeFactor}]。它看起来也不太好。

我能得出的唯一结论是 React Native 和 FFMPEG 对字体进行不同的编码,我需要标准化这种编码。也许有一些我什至不明白的花哨的 font.config 文件。

但它在 FFMPEG 文档中:

  1. 使用您自己的 fontconfig 配置。

RNFFmpegConfig.setFontconfigConfigurationPath('');

我还想指出,我在 Aegisub Advanced SubStation Alpha 文件上正确设置了 PlayResX 和 PlayResY 值。我什至试图弄乱 FFMPEG original_size 过滤器。没有任何效果。