首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个记录-> FFMPEG工作,但FFMPEG w/ ALSA口吃?

一个记录-> FFMPEG工作,但FFMPEG w/ ALSA口吃?
EN

Stack Overflow用户
提问于 2017-02-07 05:40:21
回答 1查看 1K关注 0票数 0

我试图从我的Pi零和我的I2s微机电系统麦克风音频流。我想使用FFMPEG和ALSA (我已经编译过了)进行流,但是我遇到了口吃问题。

  1. FFMPEG + ALSA ~/special/ffmpeg/ffmpeg -report -f alsa -ar 48000 -ac 2 -acodec pcm_s32le -i mic_sv -f lavfi -i testsrc -c:v h264_omx -c:a aac -ab 32k -bufsize 32k -f flv rtmp://209.85.230.23/live2/KEY

这会导致口吃和脾气暴躁。

  1. 直接连接到FFMPEG的记录 arecord -Dmic_sv -c2 -r48000 -fS32_LE | ~/special/ffmpeg/ffmpeg -report -acodec pcm_s32le -i - -f lavfi -i testsrc -c:v h264_omx -acodec aac -ab 32k -bufsize 32k -f flv rtmp://209.85.230.23/live2/KEY

这会产生一个连贯的音频流,但每隔5秒左右跳一次。

  1. 记录到wav文件的记录,通过管道传输到FFMPEG arecord -Dmic_sv -c2 -r48000 -fS32_LE -twav temp.v & ~/special/ffmpeg/ffmpeg -report -re -i temp.v -f lavfi -i testsrc -c:v h264_omx -ac 2 -acodec aac -ab 32k -bufsize 32k -async 2 -f flv rtmp://209.85.230.23/live2/KEY

这将产生一个完美的音频流。

我不知道为什么3号会起作用,但#2和#1会引起问题。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2022-02-03 07:31:00

好吧,我们来看看我的第一篇Stackoverflow文章:)

因此,您可能会遇到这样一条消息: alsa缓冲区运行或类似的消息。造成这种情况的原因确实是因为缓冲区填充速度快于所能处理的速度。我发现唯一真正的缓解措施是将采样率改为220 The。

下面是一些应该工作的代码:

代码语言:javascript
复制
ffmpeg -re -v verbose -hide_banner  -f v4l2 -thread_queue_size 1024 -re -i temp.v  -ar 11025 -f alsa -ac 1 -thread_queue_size 1024 -i default  -b:a 64k  -c:v libx264  -preset ultrafast -strict experimental -f flv -g 20 -keyint_min 20 -maxrate 2M -bufsize 6M -acodec aac  rtmp://209.85.230.23/live2/KEY 

附注:抱歉,回复晚了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42082537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档