gpt4 book ai didi

windows - 在不使用 StereoMix 的情况下使用 Windows ffmpeg 录制音频输出

转载 作者:可可西里 更新时间:2023-11-01 09:37:14 28 4
gpt4 key购买 nike

我正在寻找一种使用 Windows ffmpeg 录制音频输出(扬声器)的方法。我需要在不安装任何额外的 dshow 过滤器并且不启用 StereoMix 输入的情况下执行此操作(因为这在许多计算机上不可用)。

我在 ffmpeg 文档中读到,-map 将允许重定向音频输出,以便 ffmpeg 将其视为音频输入,但我找不到如何执行此操作的任何示例。

在 Linux 中我设法这样做了:

ffmpeg -f pulse -ac 2 -ar 44100 -i alsa_output.pci-0000_00_1f.4.analog-stereo.monitor -f pulse -ac 2 -ar 44100 -i alsa_input.pci-0000_00_1f.4.analog-stereo -filter_complex amix=inputs=2 test.mp4

但是我找不到在 Windows 和 MacOSX 中执行此操作的类似方法。

简而言之,Windows ffmpeg 是否可以在没有额外的 dshow 过滤器(开箱即用)的情况下从扬声器录制音频?同样的问题也适用于 MacOSX。

谢谢!

最佳答案

C:\DIR>choco install ffmpeg

C:\DIR>ffmpeg -list_devices true -f dshow -i dummy
[...]
[dshow @ 00000000005d1140] DirectShow audio devices
[dshow @ 00000000005d1140] "Microphone Array (Realtek High "
[dshow @ 00000000005d1140] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\Microphone Array (Realtek High "
[...]

C:\DIR>ffmpeg -f dshow -i audio="Microphone Array (Realtek High " NAME.wav
[...]
[press 'q' to quit]
[...]

要播放该文件,我想我需要对 Windows SDL 输出设备配置中的错误应用变通方法,

https://trac.ffmpeg.org/ticket/6891

C:\DIR>@rem https://trac.ffmpeg.org/ticket/6891
C:\DIR>@rem set SDL_AUDIODRIVER=directsound or winmm
C:\DIR>set SDL_AUDIODRIVER=winmm
C:\DIR>ffplay -i NAME.wav

看ffplay的实时频谱图很有趣。

C:\DIR>ffplay -f dshow -i audio="Microphone Array (Realtek High "
[...]
[press 'm' to mute the echo]
[...]
[press 'q' to quit]
[...]

我看到了使用来自 Python 或其媒体播放器的 Windows API 播放音频文件的其他方法。

C:\DIR>type winsound-play.py
import sys, winsound

winsound.PlaySound(sys.argv[1], winsound.SND_FILENAME)

C:\DIR>c:\Python27\python winsound-play.py NAME.wav

C:\DIR>explorer NAME.wav

C:\DIR>"%ProgramFiles%\Windows Media Player\wmplayer.exe" /task NowPlaying %CD%\NAME.wav

关于windows - 在不使用 StereoMix 的情况下使用 Windows ffmpeg 录制音频输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31282600/

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