如何使用 ffmpeg 将音频流重定向到虚拟脉冲音频麦克风?

2023-12-21

如何使用 ffmpeg 创建虚拟脉冲音频麦克风?

我有一个mkv文件并使用 v4l2 我可以将视频流重定向到虚拟网络摄像头设备,在这里/dev/video0.

ffmpeg -i myfile.mkv -f v4l2 /dev/video0

现在,同时我想将音频流重定向到虚拟脉冲音频麦克风(而不是输出设备)。我怎样才能实现这个目标?


创建一个虚拟输出设备,并从其监视器创建一个虚拟源。

pactl load-module module-null-sink sink_name="virtual_speaker" sink_properties=device.description="virtual_speaker"
pactl load-module module-remap-source master="virtual_speaker.monitor" source_name="virtual_mic" source_properties=device.description="virtual_mic"

任何播放到“virtual_speaker”的声音都将发送到“virtual_mic”。

您可以直接从 ffmpeg 播放声音-f pulse,但将其与-re(您想要将视频播放到虚拟网络摄像头)似乎会为音频添加几秒钟的延迟......

在我的测试中,这也导致视频输出滞后(仍然显示它以 1x 运行)。我能够获得流畅的音频和视频的唯一方法是并行运行两个 ffmpeg 实例......这不是一个很好的解决方案。

ffmpeg -nostdin -re -i myfile.mkv -f v4l2 /dev/video0 &
PULSE_SINK=virtual_speaker ffmpeg -i myfile.mkv -f pulse "stream name"
kill $!
  • -nostdin它需要在后台运行。
  • PULSE_SINK=virtual_speaker可以与任何音频播放器一起使用。
  • "stream name"只是音频流将获得的显示名称。
  • kill $!如果音频编码器存在,将杀死视频编码器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 ffmpeg 将音频流重定向到虚拟脉冲音频麦克风? 的相关文章

  • 使用 FFMPEG 添加覆盖并最少重新编码

    FFMPEG 对于剪切视频的一部分非常有用 而无需重新编码视频 我知道也可以使用 FFMPEG 添加叠加图像到视频的某个部分 例如从 10 秒到 20 秒 我的问题是 如果我对图像进行叠加 整个视频是否会因此而重新编码 或者只对相关的持续时
  • 转换为 JPEG 时 HEIC 切片损坏

    我在将 HEIC 图像转换为 jpeg 时遇到问题 HEIC 文件是使用运行最新 iOS 公共测试版的 iPhone 拍摄的图像 我正在使用诺基亚提供的库 https github com nokiatech heif 要解析文件并从 HE
  • 我们可以使用 C# 录制发送到扬声器的声音吗

    我有一个软件 SoundTap Streaming Audio Recorder 它记录发送到扬声器的任何音频 无论流是来自网络还是来自某些文件或麦克风 我可以在桌面应用程序中制作这样的应用程序 以便我可以录制发送到扬声器的流 无论来源如何
  • Node.js - 将数据缓冲到 Ffmpeg

    我使用 Node js 和 Ffmpeg 来创建动画 因为我试图避免第三方 avi mp4 解析器 所以我决定将动画输出为原始 rgb24 数据文件 然后使用一些程序将其转换为 mp4 文件 我发现 Ffmpeg 是免费且开源的 它完全可以
  • 如何将背景音乐添加到我的 spritekit 文件中

    有人可以给我一个快速简单的步骤 以便在我的应用程序加载后添加背景 m4a 音乐 它是一个精灵套件Xcode文件 音乐是m4a格式 谢谢 尝试用这个 import AVFoundation AVAudioPlayer backgroundMu
  • 如何使用 ffmpeg 设置默认流

    我有一些 m4v 文件 我想用 ffmpeg 添加字幕 我知道我需要映射流以将它们放入输出文件中 但如何确保此字幕流将是默认流 字幕是 srt 人们似乎说它们与 mp4 容器不兼容 我需要先将字幕转换为什么 另外 各种流的顺序重要吗 视频流
  • 将 ffmpeg 编译为独立二进制文件

    我正在尝试编译ffmpeg作为独立的二进制文件 因为我想在 AWS lambda 中使用它 我可以让事情在我正在编译的服务器上正常工作 但是如果我复制二进制文件并从另一台服务器运行它 我会得到 ffmpeg error while load
  • Html 视频播放器播放声音但不播放视频

    我正在制作网页 并尝试插入视频 视频播放器加载正常 您可以按播放 但只播放音频 而不播放视频 在 Chrome 中预览时 在 firefox 中查看时可以正常工作 我的代码如下
  • Android 中的 FFMpeg jni?

    我已经构建了 Bambuser http bambuser com opensource 提供的 FFMPEG 可执行文件和库 所以我设法构建了 Android 可执行文件和库 如何在 Eclipse 项目中链接这些库并从 Java 调用
  • 如何在google colab中安装ffmpeg包

    我正在尝试使用 Google Colab 来做一些事情 我特别想用ffmpeg打包到从图像创建视频 https stackoverflow com a 44951066 6890234 但 ffmpeg 似乎工作得不太好 这个 在最后一个块
  • 如何让游戏音频在某个点循环播放

    我的游戏中有一场风暴 所以我制作了一个环境音频文件 它慢慢成长为一场风暴 雨逐渐消失 然后变成一个可循环的风暴音频文件 我是这样做的 Play intro clip and merge into main loop var introTim
  • 使用 iOS 修剪音频

    我想实现一项功能 让用户修剪他之前录制的音频文件 caf 录音部分已经可以工作了 但是我如何添加类似于 Voicememos 应用程序中的修剪功能 苹果使用的音频修剪器有API吗 任何帮助都会很棒 使用 AVFoundation 怎么样 将
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • iPhone 上的全屏视频播放器是否有“onClose”事件?

    我在网站上使用 html5 视频播放器 当用户开始播放时 播放器进入全屏模式并播放视频 视频结束后 我看到ended事件并通过关闭视频播放器myvideo webkitExitFullScreen 现在 当玩家实际获得时我需要另一个事件cl
  • FFmpeg 缩放不是平滑中心(而是锯齿形)

    我尝试执行基本操作zoompan https www ffmpeg org ffmpeg all html zoompan with FFmpeg 我有一个输入图像 png 1280x720 并从中创建一个 8 秒的视频 mp4 320x1
  • 为 Android 编译时显示 FFMPEG 错误

    我正在尝试将 ffmpeg 添加到我的 android 项目中 我使用的是 ubuntu 14 04 操作系统 我正在关注此链接 Link https software intel com en us android blogs 2013
  • 如何使用 PyAudio 选择特定的输入设备

    通过 PyAudio 录制音频时 如何指定要使用的确切输入设备 我的电脑有两个麦克风 一个内置 一个通过 USB 我想使用 USB 麦克风进行录音 这流类 https people csail mit edu hubert pyaudio
  • swscaler 警告:使用了已弃用的像素格式

    我想先对视频帧执行颜色空间转换 然后使用以下代码将其转换为 opengl 纹理 struct SwsContext pSwsCtx sws getCachedContext NULL width height codec gt pix fm
  • 如何使用 ffmpeg av_seek_frame() 在具有帧号的情况下读取任何帧

    int64 t timeBase timeBase int64 t pavStrm gt time base num AV TIME BASE int64 t pavStrm gt time base den int64 t seekTar
  • 如何使用 C# 桌面应用程序以 MPEG 或 AVI 文件录制网络摄像头视频

    我正在开发一个桌面应用程序 它需要我连接到网络摄像头并以 MPEG AVI MP4 和 WMV 格式录制 保存 视频并刻录到 CD DVD 中 该应用程序采用 Win Forms 形式 我只是在寻找免费或开源解决方案或控件 我已经使用 Af

随机推荐

  • 对于软件开发人员来说,学习如何对微控制器进行编程有多难?

    我是一名软件开发人员 我使用高级语言进行编程已有几年了 我想知道如何迈出硬件编程的第一步 不是什么疯狂复杂的东西 但也许是一些普通的 CE 设备 假设我不需要将 PCB 与各种组件放在一起 而只是对微型 cpu 进行编程 我要到多低的级别
  • 该算法的复杂度(Big-O)是多少?

    我对算法分析相当熟悉 并且可以说出我使用的大多数算法的大体 但我已经被困了几个小时 无法为我编写的这段代码想出 Big O 基本上 它是一种生成字符串排列的方法 它的工作原理是使字符串中的每个字符成为第一个字符 并将其与子字符串减去该字符的
  • 我可以在摘要式身份验证中使用已 MD5 编码的密码吗

    我在数据库中有密码的 MD5 哈希值 我想将其用于 HTTP AUTH DIGEST 但在阅读文档时 摘要哈希看起来包含用户名 领域和明文密码的哈希 在这种情况下有什么办法可以使用密码的 MD5 哈希吗 不 如果他们需要的哈希是这样生成的
  • Spark 结构化流:多个接收器

    我们使用结构化流从 Kafka 进行消费 并将处理后的数据集写入 s3 我们还想将处理后的数据写入 Kafka 是否可以通过同一个流查询来完成此操作 火花版本2 1 1 在日志中 我看到流式查询进度输出 并且我有来自日志的示例持续时间 JS
  • 分割字符串后将值插入表中

    我想将值插入员工表中 这些值是字符串格式的 分开 E g AA B 123 我使用以下函数分割它 CREATE FUNCTION db owner FN Split String varchar 8000 Delimiter char 1
  • 在异步方法中使用反射获取方法名称不会返回预期结果

    以下是我编写的一小段代码 用于演示此问题的基础知识 Code private async void Form1 Load object sender EventArgs e var result await TestAsyncMethodN
  • 查找鼠标相对于面板的位置

    我试图获取鼠标在面板中的位置 如面板左上角 x y 0 0 我目前所拥有的给出了整个屏幕上的位置 因此根据面板 位于框架中 在屏幕上的位置 坐标是不同的 我想你可以添加 x y 坐标来解决这个问题 但这似乎是一个混乱的解决方案 有人可以帮忙
  • 错误的身份验证数据 QuickBlox - Android

    我正在研究QuickBlox SDK http quickblox com developers SimpleSample users android Sign In 26 Social authorization 使用这个 SDK 我尝试
  • 可以使用 boost::threads 中的 std::this_thread* 函数吗?

    可以混合搭配来自的东西吗 boost thread and std thread 或者应该为每个函数使用一组函数 我问是因为我的代码使用boost threads 但我发现boost this thread sleep for设置系统时间时
  • 如何检查远程 git 存储库 URL 的有效性?

    在 bash 脚本中 验证 git URL 是否指向有效的 git 存储库以及脚本是否有权读取它的最简单方法是什么 应该支持的协议有git https and git 卷曲失败git 协议 email protected cdn cgi l
  • 如何导致 ldap_simple_bind_s 超时?

    最近 我们的测试 LDAP 服务器遇到了问题 它挂起并且无法响应请求 结果 我们的应用程序在尝试绑定时永远挂起 这仅发生在 Unix 机器上 在 Windows 上 ldap simple bind s大约 30 秒后呼叫超时 我不知道是不
  • 将 UTF-8 文本转换为 wchar_t

    我知道这个问题已经被问过很多次了 我确实阅读了一些答案 但是有一些建议的解决方案 我试图找出其中最好的解决方案 我正在编写一个 C99 应用程序 它基本上接收以 UTF 8 编码的 XML 文本 它的部分工作是复制和操作该字符串 查找子字符
  • 从因子变量中删除特定因子水平

    我有一个数据框 其中包含多个具有 5 个因子水平的变量 我只想删除其中一个级别 首先 我将该级别的所有实例分配给 NA 然后使用droplevels命令摆脱空的水平 然而 对于我的数据框中的一个变量 我不想删除的级别之一没有任何观察结果 有
  • Boost:序列化/反序列化通过 ZeroMQ 拉套接字传递的自定义 C++ 对象

    描述 我有一个名为的 C 类通用消息它仅保存一个 id 和数据作为其成员 请参阅下面的代码片段 1 GenericMessage hxx 我的目的是序列化此类的实例并通过实现推送模式的 ZeroMQ 套接字发送它 序列化和发送任务已实现类
  • Python:如何对自定义 HTTP 请求处理程序进行单元测试?

    我有一个自定义 HTTP 请求处理程序 可以简化为如下所示 Python 3 from http import server class MyHandler server BaseHTTPRequestHandler def do GET
  • 如何删除/清除 Kafka Streams 中的状态存储?

    我有一个习惯Transformer在我的 kafka streams DSL 的末尾实现 并带有持久的变更日志KeyValueStore绑定到它 几周以来 我在商店里放了太多的数据 现在 每当我加载应用程序时 它就会消耗太多的内存 然而 应
  • Laravel 路线显示 404

    我的 web php 中有这个 Laravel 它正在工作 但现在 该路由显示 404 页面 现在这不起作用 我想要这条路线 破碎的路线 Route get b business jobs create JobController crea
  • 未找到未过期的配置文件

    I cannot test my app on my device the error that I m seeing is the one shown in the image Even if I choose my account fo
  • gstreamer flvmux 和 rtmp 错误

    我尝试从 rasberrypi 流式传输 rtmp 顺便说一句 omx 硬件编码器工作得非常好 所以我正在运行 gst launch 1 0 v4l2src video x raw width 640 height 480 framerat
  • 如何使用 ffmpeg 将音频流重定向到虚拟脉冲音频麦克风?

    如何使用 ffmpeg 创建虚拟脉冲音频麦克风 我有一个mkv文件并使用 v4l2 我可以将视频流重定向到虚拟网络摄像头设备 在这里 dev video0 ffmpeg i myfile mkv f v4l2 dev video0 现在 同