首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在FFMPEG的复杂滤波器中使用过滤音频?

如何在FFMPEG的复杂滤波器中使用过滤音频?
EN

Stack Overflow用户
提问于 2019-09-15 01:19:48
回答 1查看 1.4K关注 0票数 0

我正在使用highpass音频过滤器,然后尝试对生成的音频流使用showfreqs,但它不起作用。showfreqs过滤器使用原始音频流而不是过滤的音频流。

命令:

ffmpeg -i audio.mp3 -filter_complex highpass,showfreqs,format=yuv420p highpass.mp4

我试着命名highpass输出,但没有产生任何区别:

ffmpeg -i audio.mp3 -filter_complex highpass[hi],[hi]showfreqs,format=yuv420p highpass.mp4

如何构造我的命令以便showfreqs使用来自highpass的输出

更新

我使用的是安装在Mac上的FFMPEG 4.1.4。

来源音频:https://dsc.cloud/weavermedia/audio.mp3

命令和结果文件:

highpass上运行audio.mp3:

showfreqs上运行audio.mp3:

showfreqs上运行highpass.mp3:

highpassshowfreqs上串联运行audio.mp3:

我尝试了几个不同的源文件,并且总是得到相同的结果。

我尝试了两种不同的Mac,尽管都是通过Homebrew安装的FFMPEG 4.1.4。

我尝试了不同的高通设置,并得到了相同的结果(默认的高通设置足以听到不同之处)。

更新2

在QuickTime中并排查看生成的视频,我发现showfreqs确实使用了来自highpass的音频流,但是最终的视频包含了原始的未经过滤的音频。

所以我的问题实际上是如何让最终的视频使用过滤后的音频流而不是原始的音频流。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-15 18:31:52

showfreqs将其音频输入转换为视频输出,因此ffmpeg将返回原始音频以获得音频输出。为了避免这种情况,将高通结果分割,并将一个副本传递给显示频率,而另一个则留给音频输出。

代码语言:javascript
复制
ffmpeg -i audio.mp3 -filter_complex highpass,asplit=2[sf][aud];[sf]showfreqs,format=yuv420p;[aud]anull highpass.mp4
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57940426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档