0

我想使用 gstreamer-1.0 在 G722 编解码器中流式传输音频。当我使用以下命令时,出现了 SIGSEGV。

tx: gst-launch-1.0 -v alsasrc device="hw:0" !解码器!音频转换!音频重采样!avenc_g722 !假水槽

结果:

/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:sink: caps = "audio/x-raw\,\ format\=(string)S16LE\,\ layout\=(string)interleaved\,\ rate\=(int) 44100\,\ 通道\=(int)2\,\ 通道掩码\=(位掩码)0x0000000000000003"

抓到 SIGSEGV

#0 0x76d28c20 in poll () from /lib/libc.so.6

#1 0x00000000 在 ?? () 0:00:02.291262125 957 0x1122d50 警告
alsa gstalsasrc.c:868:xrun_recovery: xrun recovery -32: Broken pipe Spinning. 请运行“gdb gst-launch-1.0 957”继续调试,Ctrl-C 退出,或 Ctrl-\ 转储内核。

我检查了gdb,但结果如下。

警告:无法找到与inferior线程库匹配的libthread_db,将无法进行线程调试。

警告:无法找到与inferior线程库匹配的libthread_db,将无法进行线程调试。/lib/libc.so.6 的 poll() 中的 0x76c9bc20

我能做些什么来解决这个问题?avenc_g722 有错误吗?

有g722编码器吗?我只知道 ffenc_g722 但我认为 gst-ffmpeg 仅适用于 gstreamer-0.10,所以我不能使用它。

环境:

操作系统:yocto Morty CPU:imx6ull (16bit)

4

1 回答 1

0

尝试添加如下音频解析:

gst-launch-1.0 -v alsasrc device="hw:0" !音频解析!解码器!音频转换!音频重采样!avenc_g722 !fakesink 转储 = true

于 2018-01-12T13:57:23.683 回答