是否可以使用带有 ffmpeg 的字幕轨道提取视频轨道中的对话?
Posted
技术标签:
【中文标题】是否可以使用带有 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 您应该将其作为一个新问题提出,但首先要搜索以查看是否已经存在。以上是关于是否可以使用带有 ffmpeg 的字幕轨道提取视频轨道中的对话?的主要内容,如果未能解决你的问题,请参考以下文章