使用VLC从其他计算机上的ffmpeg接收rtp(opus)流

时间:2013-04-13 15:54:14

标签: linux windows ffmpeg vlc rtp

我目前正在尝试使用VLC在单独的计算机上播放opus流。

目前设置如下:

Odroid-U2运行ffmpeg捕获音频并作为rtp opus流发送到远程计算机.... 使用的命令:ffmpeg -f alsa -ac 1 -i hw:0 -acodec libopus -ab 32k -ac 1 -f rtp rtp://192.168.0.115:2032

远程计算机(在同一本地网络上)位于192.168.0.115 Odroid是192.168.0.124

如果我在libopus的地方使用libmp3lame,那么流将没有问题地运行,并且不会提示它需要sdp ....

远程计算机上的VLC输出:

SDP required: A description in SDP format is required to receive the RTP stream. Note that rtp:// URIs cannot work with dynamic RTP payload format (97).

如果我使用* .sdp文件,我放入vlc播放流,它什么都不做(没有错误,没有播放)

使用的SDP文件:

    SDP:
    v=0
    o=- 0 0 IN IP4 127.0.0.1
    s=No Name
    c=IN IP4 192.168.0.115
    t=0 0
    a=tool:libavformat 55.2.100
    m=audio 2032 RTP/AVP 97
    b=AS:32
    a=rtpmap:97 opus/48000

Odroid上的ffmpeg输出:

    linaro@linaro-ubuntu-desktop:~$ ffmpeg -f alsa -ac 1 -i hw:0 -acodec libopus -ab 32k -ac 1         -f rtp rtp://192.168.0.115:2032
    ffmpeg version git-2013-04-13-87dd62e Copyright (c) 2000-2013 the FFmpeg developers
      built on Apr 13 2013 09:47:34 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
      configuration: --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-        libopencore-amrwb --enable-libspeex --enable-librtmp --enable-libtheora --enable-libvorbis         --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3         --enable-libopus
      libavutil      52. 26.100 / 52. 26.100
      libavcodec     55.  2.100 / 55.  2.100
      libavformat    55.  2.100 / 55.  2.100
      libavdevice    55.  0.100 / 55.  0.100
      libavfilter     3. 53.101 /  3. 53.101
      libswscale      2.  2.100 /  2.  2.100
      libswresample   0. 17.102 /  0. 17.102
      libpostproc    52.  3.100 / 52.  3.100
    Guessed Channel Layout for  Input Stream #0.0 : mono
    Input #0, alsa, from 'hw:0':
      Duration: N/A, start: 1365868129.196234, bitrate: 768 kb/s
        Stream #0:0: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s
    Output #0, rtp, to 'rtp://192.168.0.115:2032':
      Metadata:
        encoder         : Lavf55.2.100
        Stream #0:0: Audio: opus, 48000 Hz, mono, s16, 32 kb/s
    Stream mapping:
      Stream #0:0 -> #0:0 (pcm_s16le -> libopus)
    SDP:
    v=0
    o=- 0 0 IN IP4 127.0.0.1
    s=No Name
    c=IN IP4 192.168.0.115
    t=0 0
    a=tool:libavformat 55.2.100
    m=audio 2032 RTP/AVP 97
    b=AS:32
    a=rtpmap:97 opus/48000

非常感谢任何帮助......

此致

1 个答案:

答案 0 :(得分:2)

只需删除" SDP:"行,以便您的sdp文件只包含:

V = 0
o = - 0 0 IN IP4 127.0.0.1
s =没有名字
c = IN IP4 192.168.0.115
t = 0 0
a =工具:libavformat 55.2.100
m =音频2032 RTP / AVP 97
B = AS:32个
a = rtpmap:97 opus / 48000