过滤不静音视频 ffmpeg-python

filter not muting video ffmpeg-python

我不知道为什么,但是当我应用这个过滤器时,视频仍然输出有声。我不确定应用过滤器所需的语法,因此不胜感激。只显示了代码的必要部分,因为我很确定这只是一个语法错误。我正在尝试将剪辑静音

ffmpeg.filter_(i,'volume',0)                                     ##YOU ARE HERE TRYING TO GET FILTERS TO WORK
        ffmpeg.output(i, videoFileName,
                    **{'c:v': 'libx264', 'b:v': targetTotalBitrate, 'pass': 2, 'f' :'mp4'}
                    ).overwrite_output().run()
        print('selected')

我怀疑 volume 过滤器是用来静音的。如果您不想要声音,则可以从输出中消除音频流。最简单的方法是使用 -an 输出选项。

FFmpeg Audio Options Documentation

对于ffmpeg-python,尝试

ffmpeg.output(i, videoFileName,**{'c:v': 'libx264', 'an':None, 'b:v': targetTotalBitrate, 'pass': 2,'f' :'mp4'})

最后,如果 ffmpeg-python 仍然存在问题,您可以试试我的 ffmpegio

pip install ffmpegio-core

(也有 ffmpegio 包,但那个增加了 NumPy 依赖)

from ffmpegio import ffmpegprocess

ffmpegprocess.run_two_pass({
    'inputs' : [('myvideo.mp4',None)], # None can be replaced with an option dict
    'outputs': [(videoFileName, {
        'c:v': 'libx264', 
        'an' : None, 
        'b:v': targetTotalBitrate, 
        'f'  : 'mp4'})]}, overwrite=True)