我想编写一个通过网络传输音频和视频的应用程序。作为一个简单的开始,我想尝试一下音频部分。
我想通过网络从我的麦克风传输 vorbis 编码的音频。我从接收器的以下管道开始:
gst-launch-0.10 tcpserversrc 主机=本地主机 端口=3000 !
奥格解复用器!
沃比斯德克!
音频转换!
音频/x-raw-int,字节序=“(int)1234”,有符号=“( bool )true”,宽度=“(int)16”,深度=“(int)16”,速率=“(int) 22000”, channel =“(int)1”!
阿尔萨辛克
对于发件人:
gst-launch-0.10 autoaudiosrc !
音频/x-raw-int,速率=22000, channel =1,宽度=16!
音频转换!
沃比森克!
奥格多路复用器!
tcpclientsink主机=本地主机端口=3000
这种方法可行,但音频很断断续续。
有人可以告诉我如何通过网络顺利对麦克风进行 vorbis 编码和流式传输吗?
编辑:我使用audiotestsrc
并记录了输出:http://db.tt/oDuQ2O41
最佳答案
我已经尝试过下面的这些命令(对原始帖子中的命令稍作修改) 他们能为我解决“刺耳”的声音问题
发件人:
gst-launch-0.10 autoaudiosrc ! \ audio/x-raw-int, endianness="(int)1234", signed="(boolean)true", width="(int)16", depth="(int)16", rate="(int)22000", channels="(int)1" ! \ audioconvert ! \ vorbisenc ! \ oggmux max-delay=50 max-page-delay=50 ! \ tcpclientsink host=localhost port=3000
接收者:
gst-launch-0.10 tcpserversrc host=localhost port=3000 ! \ oggdemux ! \ vorbisdec ! \ audioconvert ! \ audio/x-raw-int, endianness="(int)1234", signed="(boolean)true", width="(int)16", depth="(int)16", rate="(int)22000", channels="(int)1" ! \ pulsesink
关于networking - GStreamer:通过网络传输 vorbis 编码的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14140893/