0

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

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')
4

1 回答 1

0

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

请参阅FFmpeg 音频选项文档

对于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)
于 2022-02-13T03:50:39.183 回答