繁体   English   中英

Linux上的gstreamer音频错误

[英]gstreamer audio error on linux

我在Ubuntu os上使用g streamer-0.10将网络摄像头视频流式传输到rtmp服务器上,我正在获得视频输出,但是它们在音频方面存在问题。 以下命令用于流式传输

gst-launch-0.10 v4l2src! videoscale方法= 0! video / x-raw-yuv,width = 852,height = 480,framerate =(fraction)24/1! ffmpegcolorspace! x264enc pass = pass1线程= 0比特率= 900 tune = zerolatency! flvmux名称= mux! rtmpsink location ='rtmp://..../live/testing'多路分配器。 alsasrc device =“ hw:0,0”! audioresample! audio / x-raw-int,rate = 48000,channels = 2,depth = 16! pulseaudiosink块引用

通过运行上述命令,我得到了一个错误

gstbaseaudiosrc.c(840):gst_base_audio_src_create():/ GstPipeline:pipeline0 / GstAlsaSrc:alsasrc0:删除了13920个样本。 这很可能是因为下游无法跟上,并且消耗样本的速度太慢。 大段引用

因此听不到声音。

帮我解决这个问题。 在此先感谢Ameeth

我不了解您的管道。 什么是“多路分配器”。 在中间? 您面临的问题是因为您尚未用队列分隔元素。 在接收器之前和源之后安排一个队列,以使其余所有单独的线程运行。 它应该允许摆脱这个问题。

由于我的系统中没有脉冲音频或rtmp接收器,因此我测试了以下内容,它可以正常工作。

gst-launch-0.10 v4l2src ! ffmpegcolorspace ! queue ! x264enc pass=pass1 threads=0 bitrate=900000 tune=zerolatency ! queue ! flvmux name=mux ! fakesink  alsasrc ! queue ! audioresample !  audioconvert !  queue ! autoaudiosink

您可以相应地更改它并使用它。 为了使其正常工作并消除您面临的错误,我要做的唯一一件事就是添加队列。

对我而言(在Raspberry Pi3上使用GStreamer 1.4.4的Logitech c920)可以通过使用audioresampleaudioresample的采样率设置为flvmux喜欢的alsasrc来摆脱“掉落的样品”警告。 gst-inspect-1.0 flvmux ,它看起来像flvmux只支持5512, 11025, 22050, 44100采样率进行X原5512, 8000, 11025, 16000, 22050, 44100为MP4。 这是我的工作管道

gst-launch-1.0 -v -e \
    uvch264src initial-bitrate=800000 average-bitrate=800000 iframe-period=2000 device=/dev/video0 name=src auto-start=true \
    src.vidsrc ! video/x-h264,width=864,height=480,framerate=30/1 ! h264parse ! mux. \
    alsasrc device=hw:1 ! 'audio/x-raw, rate=32000, format=S16LE, channels=2' ! queue ! audioresample ! "audio/x-raw,rate=44100" ! queue ! voaacenc bitrate=96000 ! mux. \
    flvmux name=mux ! rtmpsink location="rtmp://live-sea.twitch.tv/app/MYSTREAMKEY"

我很惊讶flvmux没有抱怨获得音频源的采样率不受支持。 不知道这是否是预期的行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM