RTP 工具汇总

  • RAT - Robust Audio Tool; Supports a large number of codecs, ... License: Free; Homepage: http://www-mice.cs.ucl.ac.uk/multimedia/software/rat/
  • JMF - Java Media Framework: Can receive and send RTP streams; Homepage: http://java.sun.com/products/java-media/jmf/
  • MP3/RTP Plugin for Winamp: Homepage: http://www.live.com/multikit/winamp-plugin.html
  • Vomit - Voice over Missconfigured Internet Telephones: Plays back captured voice conversation; Homepage: http://vomit.xtdnet.nl
  • RTP Tools: Several RTP utilities from the Columbia University; Homepage: http://www.cs.columbia.edu/IRT/software/rtptools/
  • UDP Packet Reflector/Forwarder: A tiny tool which forwardsor reflects UDP packets. You can also add delay and packet loss. Veryuseful if you want to test RTP applications. Homepage: http://www.cs.ucl.ac.uk/staff/s.bhatti/teaching/z02/reflector.html.
  • jrtplib: A very nice, simple C++ RTP stack. Works on Windows, Linux.... ; License: Free; Homepage: http://lumumba.luc.ac.be/jori/jrtplib/jrtplib.html. This stack is not symmetrical, but you can use my version of rtpconnection.cpp(for jrtp version 2.8) to make it symmetrical. (send RTP and receiveRTP on the same port, send RTCP and receive RTCP on the same port).
  • Common Multimedia Library: from UCL London, includes RTP stack; C; License: Free; Homepage: http://www-mice.cs.ucl.ac.uk/multimedia/software/common/
  • ortp: C; License: LGPL; Homepage: http://www.linphone.org/ortp/; without RTCP, from linphone
  • GNU ccRTP: C++; License: GPL (with linking exception); Homepage: http://www.gnu.org/software/ccrtp/
  • LIVE.COM Streaming Media: C++; License: LGPL; Homepage:  http://live.com/liveMedia/
  • Morgan RTP DirectShow Filters: C++; License: ?; Homepage: http://www.morgan-multimedia.com/RTP/; based on liveMedia library
  • RTP from vovida.org: C++; License: VOCAL; Homepage:  http://www.vovida.org/protocols/downloads/rtp/
  • RTPlib: RTP library from Lucent Technologies/Cloumbia University; C; License: Non-exklusive source code license; Homepage: http://www-out.bell-labs.com/project/RTPlib/
  • librtp: C; License: GPL; Homepage: http://gphone.sourceforge.net/template.php3?page=librtp; from Gnome-o-phone
  • Microsoft RTC API: The Mircosoft RTC API is a high level SIPand RTP Stack. It's included in Windows XP and also comes with theseveral Windows Messenger. Version 1.2 introduced a lot of new featuresis behaves strange when used with other SIP clients. DeveloperHomepage: http://www.microsoft.com/downloads/details.aspx?FamilyID=ae0bdc75-9f2f-4217-b97f-dfa0adf264aa&displaylang=en.
  • sipXmediaLib: Part of pingtel's open source releases for VoIP.  License: LGPL; Homepage: sipfoundry.org.
  • PJMEDIA: Small RTP/RTCP stack. License: LGPL; Homepage:http://www.pjsip.org/pjmedia/docs/html/index.htm.
  • Zfone: Zfoneis an extension to any SIP phone. It implements the ZRTP protocol forsecure media streams. This is done by intercepting the media streamfrom the SIP phone and adding the ZRTP extension. The included ZRTPlibrary can also be used to implement native ZRTP support. Homepage:http://www.philzimmermann.com/EN/zfone/index.html.
  • rtpbreak包装说明

    随着rtpbreak可以检测,重建和分析任何RTP会话。它不需要的RTCP分组的存在,并且独立地工程形成用于信令协议(SIP,H.323,SCCP,...)。输入是数据包的顺序,输出是一组可以作为其他工具的输入使用的文件(Wireshark的/ tshark的,袜中,grep / awk的/剪切/ CAT / sed的,...)。它也支持无线(AP_DLT_IEEE802_11)网络。

    • 一个未知或不支持的信令协议重构任何RTP流
    • 重建在无线网络中的任何RTP流,而做渠道跳频(VoIP的活动检测器)
    • 重建和解码在批处理模式下的任何RTP流(用袜,星号,...)
    • 重建所有已经存在的RTP流
    • 重新排序任何RTP流以供日后分析的数据包(与tshark的,Wireshark的,...)
    • 在一个芯片上的Linux设备建立一个微小的无线VoIP窃听系统
    • 构建一个完整的VoIP窃听系统(rtpbreak将只是RTP剥离模块!)

    资料来源:rtpbreak文档
    rtpbreak首页 | 卡利rtpbreak回购

    • 作者:Dallachiesa米歇尔
    • 许可:GPL第二版

    包含在rtpbreak包工具

    rtpbreak - 检测,重建,并分析RTP会话
    root@kali:~# rtpbreak -h
    Copyright (c) 2007-2008 Dallachiesa Michele
    rtpbreak v1.3a is free software, covered by the GNU General Public License.

    USAGE: rtpbreak (-r|-i) [options]

     INPUT

      -r      Read packets from pcap file
      -i      Read packets from network interface
      -L      Force datalink header length == bytes

     OUTPUT

      -d      Set output directory to (def:.)
      -w            Disable RTP raw dumps
      -W            Disable RTP pcap dumps
      -g            Fill gaps in RTP raw dumps (caused by lost packets)
      -n            Dump noise packets
      -f            Disable stdout logging
      -F            Enable syslog logging
      -v            Be verbose

     SELECT

      -m            Sniff packets in promisc mode
      -p      Add pcap filter
      -e            Expect even destination UDP port
      -u            Expect unprivileged source/destination UDP ports (>1024)
      -y      Expect RTP payload type ==
      -l      Expect RTP payload length == bytes
      -t    Set packet timeout to seconds (def:10.00)
      -T    Set pattern timeout to seconds (def:0.25)
      -P      Set pattern packets count to (def:5)

     EXECUTION

      -Z      Run as user
      -D            Run in background (option -f implicit)

     MISC

      -k            List known RTP payload types
      -h            This

    rtpbreak用法示例

    使用eth0设备(-i eth0的)分析 RTP流,填补空白(-g),嗅探在混杂模式(-m),并保存到指定目录(-d rtplog):

    root@kali:~# rtpbreak -i eth0 -g -m -d rtplog
     + rtpbreak v1.3a running here!
     + pid: 10951, date/time: 17/05/2014#13:40:02
     + Configuration
       + INPUT
         Packet source: iface 'eth0'
         Force datalink header length: disabled
       + OUTPUT
         Output directory: 'rtplog'
         RTP raw dumps: enabled
         RTP pcap dumps: enabled
         Fill gaps: enabled
         Dump noise: disabled
         Logfile: 'rtplog/rtp.0.txt'
         Logging to stdout: enabled
         Logging to syslog: disabled
         Be verbose: disabled
       + SELECT
         Sniff packets in promisc mode: enabled
         Add pcap filter: disabled
         Expecting even destination UDP port: disabled
         Expecting unprivileged source/destination UDP ports: disabled
         Expecting RTP payload type: any
         Expecting RTP payload length: any
         Packet timeout: 10.00 seconds
         Pattern timeout: 0.25 seconds
         Pattern packets: 5
       + EXECUTION
         Running as user/group: root/root
         Running daemonized: disabled
     * You can dump stats sending me a SIGUSR2 signal
     * Reading packets...

  • mediastream.exe

     
        
    1. mediastream --local  --remote  --payload    
    2. [ --fmtp ]   
    3. [ --jitter ]   
    4. [ --width ]   
    5. [ --height  ]   
    6. [ --bitrate ]   
    7. [ --ec (enable echo canceller)]   
    8. [ --agc (enable automatic gain control)]   
    9. [ --ng (enable noise gate)]   
    10. [ --ng-threshold <(float) [0-1]> (noise gate threshold)]   
    11. [ --capture-card ]   
    12. [ --playback-card ]   
    13. [ --infile ] specify a wav file to be used for input, instead of soundcard   
    14. [ --outfile ] specify a wav file to write audio into, instead of soundcard   

    mediastream的作用是从声卡捕捉声音, 编码, 然后通过RTP协议发送到远端, 同时接收远端发送过来的RTP报文, 解码, 通过声卡播放. 
    比如, 
    主机A IP 192.168.1.100 
    主机B IP 192.168.1.200 
    主机A运行 mediastream.exe --local 2000 --remote 192.168.1.200:3000 --payload 110 
    主机B运行 mediastream.exe --local 3000 --remote 192.168.1.100:2000 --payload 110 
    这里payload type 110表示payload_type_speex_nb. 


你可能感兴趣的:(音视频)