android 中使用ffmpeg,将视频加入字幕,用ass文件,在PC上可以,但在Android上一直不行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 中使用ffmpeg,将视频加入字幕,用ass文件,在PC上可以,但在Android上一直不行相关的知识,希望对你有一定的参考价值。

一直报Fontconfig error: Cannot load default config file,应该是找不到字体,我有字体,在SD卡中,要怎么设置才能使用我SD卡里面的ttf文件?

参考技术A 理论上来讲:任何视频格式都是支持外挂字幕的迅雷看看也是支持外挂字幕的没显示字幕的可能性有两个:1、播放器不支持外挂字幕(显然应该不是播放器的问题,有可能你关闭了外挂字幕功能,你可以试着重新安装迅雷看看)2、视频文件名跟字幕文件名不同(在同一个文件夹下要播放器自动载入外挂字幕,首先必须保证视频跟字幕在同一个文件夹内,然后要保证文件名称一样,这里说的文件名称不包括后缀名举个例子:视频文件名为:ZXCV.mp4 ,,这里我们可以看到这个视频是一个名称为:ZXCV的MP4格式的视频文件,ZXCV为为视频名称,“.mp4”则为文件的后缀名,即为文件种类要保证外挂字幕文件顺利的自动载入,那么它的文件名就必须为:“ZXCV.ass”)明白?

是否可以使用带有 ffmpeg 的字幕轨道提取视频轨道中的对话?

【中文标题】是否可以使用带有 ffmpeg 的字幕轨道提取视频轨道中的对话?【英文标题】:Is it possible to extract the dialogue in a video track using the subtitles track with ffmpeg? 【发布时间】:2020-02-07 21:14:53 【问题描述】:

我想将一个视频文件作为输入并生成一个包含音轨的输出,该音轨将是视频原始音轨的较短版本,仅输出对话。我将视频的字幕放在一个单独的文件中,我可以用它来提取对话。这可能与ffmpeg有关吗?

【问题讨论】:

【参考方案1】:

这是可能的,但不是微不足道的。这假设字幕与对话完美同步(不幸的是,这可能不是真的)。这是一个非常广泛的问题,没有给出任何细节,所以我只能提供一般步骤:

    从字幕中获取时间戳。例如,使用awk 将其处理成可用的形式。

    使用检索到的时间戳对音频进行分段。您可以使用许多方法,但它们可能取决于输入流的(当前未知)格式。例如,您可以使用atrim 或aselect 过滤器中的时间戳并与concat filter 连接。或使用concat demuxer 的inpoint/outpoint 指令。

【讨论】:

感谢您的回复!如果字幕与对话框的时间不完美,例如它们太快或太慢,我可以将字幕的速度增加或减少一定的毫秒数吗?我的输入流格式主要是mp4,但我也有一些avi和mkv文件。 @user1306470 您应该将其作为一个新问题提出,但首先要搜索以查看是否已经存在。

以上是关于android 中使用ffmpeg,将视频加入字幕,用ass文件,在PC上可以,但在Android上一直不行的主要内容,如果未能解决你的问题,请参考以下文章

ffmpeg 给视频添加字幕,在视频的某个时间段加入声音特效和动画

android ffmpeg视频添加字幕和配音

是否可以使用带有 ffmpeg 的字幕轨道提取视频轨道中的对话?

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

ffmpeg - 添加和删除字幕而不更改视频

FFMPEG - 转换具有多个音频和字幕的视频