gpt4 book ai didi

bash - 用ffmpeg替换字幕中的单词

转载 作者:行者123 更新时间:2023-12-04 22:55:01 24 4
gpt4 key购买 nike

我想使用 ffmpeg 用 ffmpeg 替换视频文件的所有字幕中出现的所有单词。应复制所有非字幕 channel (不重新编码),并尽可能保留原始字幕的所有格式。

例子:

ffmpeg -i input.mkv -SUBTITLEFILER='old_word/new_word' output.mkv

我正在使用 ubuntu 19.04 和 bash(如果需要额外的步骤或依赖项)

最佳答案

ffmpeg没有查找/替换字幕的功能,但您可以通过 3 个命令无损地执行此操作:

  • 提取字幕:

    ffmpeg -i input.mkv -map 0:s:0 -c copy sub0.ass -map 0:s:1 -c copy sub1.ass -map 0:s:2 -c copy sub2.ass

    我假设您的字幕是 SubStation Alpha (ASS/SSA) 字幕。如果它们不同,请使用适当的输出名称:例如 .srt对于 SubRip(请参阅 ffmpeg -muxers)。
  • 替换为 sed :
    sed -i 's/cat/dog/g' *.ass
  • 混音:

    ffmpeg -i input.mkv -i sub0.ass -i sub1.ass -i sub2.ass -map 0 -map -0:s -map 1 -map 2 -map 3 -c copy -metadata:s:s:0 language=fas -metadata:s:s:1 language=eng -metadata:s:s:2 language=fin output.mkv

  • 如果您想将某个字幕设为默认字幕,请参阅 -disposition ffmpeg set subtitles track as default 中所示的选项.

    关于bash - 用ffmpeg替换字幕中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60762736/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com