在运行ffmpeg时添加、删除和调整过滤器



前言

我一直在使用命令行添加和调整过滤器和效果来摆弄ffmpegffplay

很快就会感到厌烦

  1. 开始播放一些音频文件
  2. 停止
  3. modify命令
  4. 回到1

例如微调降噪或添加效果和均衡器时。

我曾经尝试过使用zmq通过在不同的终端中执行命令来调整过滤器,但这也变得有些麻烦。

我想要一些界面,在运行时/收听生效的更改时,我可以添加、删除和调整过滤器

FFMPEG

我使用filter来表示从现在开始的效果/过滤器。例如afftdnrubberband。。。

ffmpeg有点吓人。它很强大,但也很复杂,至少在开始深入研究时是这样。:0

看看库和示例,我看到的是用于音频解码和过滤的API示例,至少一开始看起来很有前途。

输出

我想最好有多个接收器或一些带有多个音轨的容器:

  1. 原始音频
  2. 已应用效果的音频

可选:

  1. 原始音频
  2. 带所有滤波器的音频
  3. 带滤波器的音频总成1
  4. 带滤波器的音频总成2
  5. 。。。等等

处理

我想程序应该是这样的:

  1. 从流/文件/url读取数据包
  2. 打开样品包装
  3. 复制/复制每个过滤器组的样本/或过滤器的一个样本
  4. 将筛选器应用于这些"效果样本">
  5. 写入原始音频,已过滤的音频1,已过滤已过滤的音频N。。。出局

或者对于步骤3-5(因为一次只能听一首曲目(但如果一个人决定在音频流中来回跳跃,这可能不是最好的):

  1. 应用当前活动的筛选器
  2. 原始音频、过滤的音频写入输出

同时,可以通过某些接口读取并检查对过滤器的更改。即输入:

afftdn=rf=-20:nr=20

然后,如果过滤器中不存在afftdn,则添加它,否则设置新值。

想法是输出";原始音频";。即在采样和调谐阶段使用,然后生成一行带有滤波器选项的行,用户可以使用ffmpeg-工具处理音频文件。

问题部分

  • 是否存在类似的情况

概述:

  • 这似乎是一种使用ffmpeg库的方法吗?
    • 是否可以在运行时添加、删除和更改过滤器值,或者是否必须为每个添加/删除的过滤器重新初始化整个流等
    • "处理">部分是否正确
  • 使用支持多个音轨的容器可能是最好的解决方案吗?例如mp4。
    • 有比其他容器更喜欢的容器吗
    • 任何缺点(即在流中来回跳跃)

子注释

梦想是有一个Arduino接口与这个程序,我使用物理旋转开关,增量旋转编码器,按钮和口哨。使用物理旋钮调整过滤器的各种选项。但一开始我需要一些工作样本,在那里我使用FIFO或任何东西来测试ffmpeg本身。

将mpv与IPC一起使用。然后,您可以通过shell实时添加、删除、切换音频或视频过滤器。

相关内容

  • 没有找到相关文章

最新更新