gpt4 book ai didi

ffmpeg - 使用 ffmpeg 从 m4a 文件中删除前导和尾随静音

转载 作者:行者123 更新时间:2023-12-04 11:15:39 27 4
gpt4 key购买 nike

我有一个音频文件,它具有前导和尾随静音,并具有以下细节:

编解码器:MPEG AAC 音频 (mp4a) channel :立体声 采样率:44100 Hz 比特率:253 kbps

我想消除沉默并保持质量不变。

到目前为止我已经尝试过

ffmpeg -i 1.m4a -af silenceremove=1:0.5:0:1:0.5:0 2.m4a 

这应该删除前导和尾随的沉默。
但由于某种原因,它并没有消除尾随的沉默。这似乎是一个反复出现的问题。在另一个论坛上找到以下内容。

http://ffmpeg-users.933282.n4.nabble.com/How-to-delete-digital-silence-tp4667256p4667356.html

此外,ffmpeg 将比特率降低到 128kbps。我可以通过添加 来解决这个问题-ab 253k 并发出命令:
ffmpeg -i 1.m4a -af silenceremove=1:0.5:0:1:0.5:0 -ab 253k 3.m4a 

现在的问题是没有删除尾随静音,当我想处理一批文件时,我不能对每个文件使用相同的比特率(如 253kbps )。我想知道如何在这种情况下使用 VBR。

我知道我可以使用 sox 并使用静音和反向功能来修剪静音。

http://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence “本文中的示例 3”

但是sox存在以下问题:
  • 它无法处理 m4a 文件,我必须将所有文件转换为 mp3。
  • 在 sox 中使用静音过滤器时,它将比特率限制在 128kbps。
    sox 1.mp3 2.mp3 silence 1 0.5 1% reverse silence 1 0.5 1% reverse
  • 最佳答案

    你的问题实际上是由两个组成,一个是关于尾随的沉默,第二个是关于 比特率 .
    这是 的答案第二问题:
    为了保持音频源的精确质量,您可以使用 -c:a pcm_s16le和 .wav 容器(如果适用)。
    第二种选择是使用质量等级-q:a N , N (不像 -q:v 是特定于编解码器的,你最好测试不同的值,对于 MP3 它是从 0 到 9,其中 0 是最高质量)
    如果两者,未压缩的 WAV 和质量比例都不是一个选项,但您仍然希望达到原始质量(因此,没有重新编码)答案将是棘手的:

  • 制作一首从一开始就移除静音的轨道。
  • 从去除静音的轨道中减去原始轨道长度(知道静音有多长)
  • 使用 -ss TIMESTAMP 转换原始轨道(输入开始时间)和-c:a copy
  • 对尾部静音重复相同的操作。
  • 关于ffmpeg - 使用 ffmpeg 从 m4a 文件中删除前导和尾随静音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31093736/

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