无法使用 Gstreamer 通过 rtp 传输音频

无法使用 Gstreamer 通过 rtp 传输音频

我正在使用以下 gstreamer 命令行通过 RTP 将音频从 QuickTime 文件发送到端口/端点。我可以成功地将视频从文件发送到端口,但不能发送音频。我在端口 5054 上执行 tcpdump 测试,可以看到数据包通过网络传输。如果我嗅探 5052,则看不到数据包。我可以通过网络正常发送测试信号,所以我怀疑我的解码箱出了什么问题?这引出了下一个问题。有没有办法分析 gstreamer 管道的工作原理?

gst-launch-1.0 \
    rtpbin name=rtpbin \
    filesrc location=starwars.mov ! qtdemux name=demux \
    demux.audio_0 ! decodebin ! audioconvert ! opusenc bandwidth=superwideband bitrate=96000 \
        ! rtpopuspay ! "application/x-rtp, media=(string)audio, clock-rate=(int)48000, encoding-name=(string)OPUS,payload=111"  ! rtpbin.send_rtp_sink_0 \
    demux.video_0 ! decodebin ! videoconvert ! x264enc tune=zerolatency speed-preset=1 dct8x8=true quantizer=25 pass=qual \
        ! rtph264pay ! "application/x-rtp,payload=(int)103, clock-rate=(int)90000"  ! rtpbin.send_rtp_sink_1 \
    rtpbin.send_rtp_src_0 ! udpsink host=www.myurl.com port=5052 sync=true async=false \
    rtpbin.send_rtcp_src_0 ! udpsink host=www.myurl.com port=5053 sync=false async=false \
    rtpbin.send_rtp_src_1 ! udpsink host=www.myurl.com port=5054 sync=true async=false \
    rtpbin.send_rtcp_src_1 ! udpsink host=www.myurl.com port=5055 sync=false async=false

答案1

导出 GST_LOG 级别 export GST_DEBUG=8 ,然后在命令中包含 -v 选项,例如 gst-launch-1.0 -v <REST_OF_YOUR_CODE>

相关内容