gpt4 book ai didi

ffmpeg - 连接 mka 文件但保留时间戳

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

我正在尝试将一些文件与 FFMPEG 是 mka 并且来自 Twilio 视频 session 记录。我正在尝试为每个参与者获取轨道,但我正在尝试保留文件中的整体时间戳。
具体示例:我有这三个文件:

0PA1896e43f4ca0edf17d8dbfc0bab95a52.mka
1PA2a640f11bc13af2c29397800f058cb05.mka
2PA9fa5b32edc016f6f5b9669bb9b308d97.mka
这些文件都是通话参与者的所有轨道,但在不同时间加入(离开 session 并重新进入,会产生一个新文件)。
我想将这些文件混合在一个文件中,同时保留记录时的时间戳。
FFProbe 显示每个文件的开头:
0PA1896e43f4ca0edf17d8dbfc0bab95a52.mka - Duration: 00:00:17.87, start: 1.360000, bitrate: 78 kb/s
1PA2a640f11bc13af2c29397800f058cb05.mka - Duration: 00:00:22.76, start: 22.521000, bitrate: 78 kb/s
2PA9fa5b32edc016f6f5b9669bb9b308d97.mka - Duration: 00:00:20.36, start: 48.944000, bitrate: 78 kb/s
所以第一个 00:00:17.87 应该被静音,然​​后从 00:00:22.76 附加第二个文件,从 48.944000 附加第三个文件。这将导致添加了所有这 3 个录音的单个文件,但在没有任何内容时会静音,并且添加了所有录音。实际上,我想在开始时延迟。
想象一下,我正在添加从第 2 分钟开始的第 4 个录音,在第 3 和第 4 录音之间将是一段沉默的间隙。
或者想象一个有 3 个参与者的调用,但第 3 个参与者只会从第 5 分钟开始。前 5 分钟应该被静音,这样我就可以将 trascribe api 传递给第 3 个参与者并且仍然获得正确的时间戳。
我想要这种方式的原因是因为我想将音频转录为文本,并希望在可以听到文本时获得确切的时间戳。

最佳答案

为此,您将使用 aresample 和 amix 过滤器。 aresample 过滤器将应用于每个输入,以便在开始时间戳之前插入静音。然后将这些处理过的流与 amix 过滤器混合在一起。
我将调用输入 0.mka、1.mka 和 2.mka

ffmpeg -copyts -i 0.mka -i 1.mka -i 2.mka -filter_complex "[0]aresample=async=1:first_pts=0[a0];[1]aresample=async=1:first_pts=0[a1];[2]aresample=async=1:first_pts=0[a2];[a0][a1][a2]amix=inputs=3" out.mka

关于ffmpeg - 连接 mka 文件但保留时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63114934/

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