gpt4 book ai didi

linux - 如何清除采集卡收到的播放声音

转载 作者:行者123 更新时间:2023-12-04 23:33:15 26 4
gpt4 key购买 nike

我正在尝试设置我的 linux 桌面,以便能够查看和收听连接到我的采集卡的设备。我写了这个 2 类轮脚本能够做到这一点,但是我的声音不正常而且有点失真,我该如何清理它?

arecord --buffer-time=1 -f cd - | aplay --buffer-time=1 -c 5 -r 48000 -f S16_LE - 2> /dev/null &

ffplay -f video4linux2 -framerate 30 -video_size 1920x1080 -input_format mjpeg /dev/video1 2> /dev/null &
我也尝试使用 ffmpeg 管道到 ffplay 来做到这一点,声音非常清晰,但是视频和声音有 2-3 秒的延迟,有没有办法解决这个问题?
ffmpeg -framerate 30 -video_size 1920x1080 -thread_queue_size 1024 -input_format mjpeg -i /dev/video1 -f pulse -i 'Analog Input - USB Video' -r 30 -threads 4 -vcodec libx264 -crf 0 -preset ultrafast -vsync 1 -async 1 -f matroska - |ffplay -

最佳答案

你能试试只用ffplay吗?你的第二种方法?

ffplay -framerate 30 -video_size 1920x1080 \
-thread_queue_size 1024 -input_format mjpeg -i /dev/video1 \
-f pulse -i 'Analog Input - USB Video'`
因为我只熟悉 ffmpeg,所以我可能不在基地。并且不要亲自使用 ffplay ,但它们共享很多东西(例如,后端库和命令行解析),所以我在对冲这是否可行。
另外,“视频和声音有2-3秒的延迟”是什么意思?它们是否比您实际看到和听到的内容落后 2-3 秒?或者他们在这么多秒内不同步?
[附录]
不确定 OP 是否仍在检查这篇文章,但是有一个解决方案可以通过使用带有 movie 的输入过滤器图来组合 ffplay 的两个输入。和 amovie过滤器。以下在 Windows 中有效(尽管延迟大到无法接受):
ffplay -f lavfi -i \
movie=filename=video="Logitech HD Webcam C310":format_name=dshow:format_opts=rtbufsize=702000k[out0]; \
amovie=filename=audio="Microphone (HD Webcam C310)":format_name=dshow[out1]
请注意,这仅用于说明目的,如 dshow设备可以输出多个流(尽管延迟对于实时使用来说仍然太糟糕了)。
在 Linux 中也应该可以:
ffplay -f lavfi -i \
movie=filename=/dev/video1:format_name=video4linux2:format_opts='framerate=30:video_size=1920x1080:thread_queue_size=1024:input_format=mjpeg'[out0]; \
amovie=filename='Analog Input - USB Video':format_name=pulse[out1]
(免责声明:未经测试,可能会丢失转义)
Linux 中的延迟可能会更好(并且使用比我更高规范的 PC),所以它可能值得一试。

关于linux - 如何清除采集卡收到的播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71276413/

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