AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 756463
Accepted
Sorin Lascu
Sorin Lascu
Asked: 2023-09-14 07:56:28 +0800 CST2023-09-14 07:56:28 +0800 CST 2023-09-14 07:56:28 +0800 CST

链接管道水槽以进行流式传输设置

  • 772

晚上好!

我正在尝试创建一个流媒体设置,供我和我的朋友通过 Skype 闲逛,但我在音频部分确实遇到了困难。有两个问题:

  1. 麦克风仅在左声道上传输。我希望我的麦克风能够传输到两个音频通道。为此,根据文档(https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices),我需要创建一个mono-sink倒入麦克风的位置,然后将其传输到我的friend sink. 这篇博文(https://blogshit.baka.fi/2021/07/pipewire-microphone/)似乎涵盖了这个用例,但我没有 media-session.d 文件。
  2. 我想倒入一些应用程序和其他音频源,例如我的吉他,friend sink我想听听其中的内容,除了我的麦克风(也许只听我的麦克风作为一次性测试)。

我该如何实现这一目标?我如何知道如何命名配置文件,因为它们在文档中似乎有特定的名称?如何倒入我的应用程序音频?我自己需要一个单独的水槽吗?如何查找 pipelinewire 的设备名称?

这是我的pactl info输出

shaddox@pop-os:/usr/share/pipewire$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 660
Tile Size: 65472
User Name: shaddox
Host Name: pop-os
Server Name: PulseAudio (on PipeWire 0.3.79)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-Grace_Design_SDAC-00.iec958-stereo
Default Source: alsa_input.usb-Yamaha_Corporation_Steinberg_UR22mkII-00.analog-stereo
Cookie: 3fff:d574

如果有帮助,这是我的arecord -l输出

shaddox@pop-os:/usr/share/pipewire$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 2: ALC887-VD Alt Analog [ALC887-VD Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: Webcam [C922 Pro Stream Webcam], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 4: UR22mkII [Steinberg UR22mkII], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

这是我的aplay -l输出:

shaddox@pop-os:/usr/share/pipewire$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC887-VD Digital [ALC887-VD Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SDAC [SDAC], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 3: HDMI 0 [22M35]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 4: UR22mkII [Steinberg UR22mkII], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

我只使用 Steinberg UR22mkII 进行吉他录音和麦克风,而 SDAC 则是我聆听的地方。

configuration
  • 1 1 个回答
  • 18 Views

1 个回答

  • Voted
  1. Best Answer
    Sorin Lascu
    2023-10-02T01:20:57+08:002023-10-02T01:20:57+08:00

    当然,一旦你提出了自己的问题,你就会知道要注意什么。首先,我需要创建两个虚拟设备作为操作基础。该文件将被命名为~/.config/pipewire/pipewire.conf.d/10-coupled-skype-stream.conf. 你可能会问,我是如何得出这个结论的?真理的源头就在/usr/share/pipewire!现在,进入文件内容:

    context.modules = [
        {   name = libpipewire-module-loopback
                args = {
                    node.description = "Steinberg Front Left"
                    capture.props = {
                        node.name = "capture.mono-micorphone"
                        audio.position = [ FL ]
                        target.object = "alsa_input.usb-Yamaha_Corporation_Steinberg_UR22mkII-00.analog-stereo"
                        stream.dont-remix = true
                        node.passive = true
                    }
                    playback.props = {
                        media.class = "Audio/Source"
                        node.name = "mono-microphone"
                        audio.position = [ MONO ]
                    }
                }
        }
        {   name = libpipewire-module-loopback
            args = {
                audio.position = [ FL FR ]
                capture.props = {
                    media.class = Audio/Sink
                    node.name = skype_sink
                    node.description = "Virtual Skype sink"
                }
            }
        }
    ]
    

    我在一个名为 的简单程序的帮助下找到了设备的名称Simple Wireplumber GUI。第一对将做的是,它将创建从源的左通道到新的虚拟单通道的系绳。

    配置文件的第二部分创建了一个名为 a 的东西sink,它只是一个转储你希望每个人都能听到的音频内容的地方。

    现在,您使用一款名为qpwgraph或 的软件Helvum将您希望每个人听到的内容绑定到接收器。左声道转到左声道,右声道转到右声道。对于 MONO 源,它会进入两个通道。

    一旦您听够了自己的声音以进行测试,请在上述程序中查找环回系绳并将其切断。

    希望这对其他人有帮助。

    • 0

相关问题

  • 如何使'emacs'缩进与标签完全一样'nano'如何......?

  • 是否可以将配置文件通过管道传输到 hostapd?

  • Xorg Conf:交流电/电池的 NVIDIA 性能设置?

  • 如何确保 /etc/network/interfaces 会启动接口?

  • 在 SSH 上从匹配组中排除用户

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve