gpt4 book ai didi

FFMPEG:剪掉 wave/mp3 的最后 10 秒

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

我正在使用 ffmpeg 将我的文件从 wave 转换为 mp3。但是对于一项新服务,我需要删掉一些歌曲的最后 10 秒(针对盗版问题),无论它们有多长。我只找到了有关在轨道长度已知时执行此操作的信息,但为此我需要自动执行此操作。

有谁知道使用哪个命令?如果我能提前 5 秒淡出那就最好了!

最佳答案

python 是几乎所有东西的强大工具(在 linux 中测试过)

#!/bin/python
from sys import argv
from os import system
from subprocess import Popen, PIPE

ffm = 'ffmpeg -i' # input file
aud = ' -acodec mp3' #add your quality preferences
dur = ' 2>&1 | grep "Duration" | cut -d " " -f 4'

def cutter(inp,t=0):
out = inp[:-5] + '_cut' + inp[-5:]
cut = ' -t %s' % ( duration(inp)-t )
cmd = ffm + inp + aud + cut + out
print cmd; system(cmd)

def fader(inp,t=0):
out = inp[:-5] + '_fade' + inp[-5:]
fad = ' -af "afade=t=out:st=%s:d=%s"' % ( duration(inp)-t, t )
cmd = ffm + inp + fad + out
print cmd; system(cmd)

def duration(inp):
proc = Popen(ffm + inp + dur, shell=True, stdout=PIPE, stderr=PIPE)
out,err = proc.communicate()
h,m,s = [float(x) for x in out[:-2].split(':')]
return (h*60 + m)*60 + s

if __name__ == '__main__':
fname=' "'+argv[1]+'"'
cutter(fname,10)
fader (fname, 5)

# $ python cut_end.py "audio.mp3"

淡出命令是

ffmpeg -i audio.mp3 -af "afade=t=out:st=65:d=5" test.mp3
  • t: 输入(输入|输出)
  • st: 开始时间
  • d:持续时间

自动化

for i in *wav;do python cut_end.py "$i";done

您可以连接 (cutter->fader) 来执行您想要的操作。

问候。

关于FFMPEG:剪掉 wave/mp3 的最后 10 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18980677/

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