【问题标题】:H264 RTP packet dump and generating quicktime filesH264 RTP 数据包转储和生成 quicktime 文件
【发布时间】:2010-03-29 16:04:36
【问题描述】:

我有一个使用 libpcap 捕获的流式 H264 视频的 RTP 数据包转储。我想知道是否有人知道可以从中生成可播放视频文件的工具。

谢谢

【问题讨论】:

    标签: video quicktime h.264 rtp


    【解决方案1】:

    尝试将 RTP 文件流导出为转储文件(在 Wireshark 中,右键单击 RTP 数据包 → 关注 UDP 流 → 另存为),然后通过 gst-launch 发送文件以进行解复用。您需要尝试一下,但这应该是正确的想法:

    $ gst-launch-0.10 filesrc location=dump.rtp ! rtpmp2tdepay ! filesink location=dump.ts
    

    以上假设 RTP 是 MPEG TS 流。如果是其他东西(即原始 Vorbis、G.729、PCM、MP3 或其他东西),那么您将需要使用不同的“depayloader”。您可以使用gst-inspect 找出答案:

    $ gst-inspect-0.10 | egrep 'rtp.*depay'
    quicktime:  rtpxqtdepay: RTP packet depayloader
    dtmf:  rtpdtmfdepay: RTP DTMF packet depayloader
    rtp:  rtpdepay: Dummy RTP session manager
    rtp:  rtpac3depay: RTP AC3 depayloader
    rtp:  rtpbvdepay: RTP BroadcomVoice depayloader
    rtp:  rtpceltdepay: RTP CELT depayloader
    [...]
    

    GStreamer(包括gst-launchgst-inspect 工具)应默认随所有现代Linux 发行版一起提供。如果没有,它应该很容易安装。显然,我的示例非常通用,因此您需要使用我的建议自己找到确切的答案。希望我已经给了你足够的支持让你做到这一点。 :)

    【讨论】:

    • 我刚试过这个......每次我按照你的解释运行它,使用Wireshark的Follow UDP Stream......我收到一个错误“没有协商RTP格式”。有什么想法吗?
    • 因此我说“你需要玩一下这个”。您尚未共享有关您的流的任何详细信息(例如 Wireshark 识别的 RTP 有效负载类型),因此我无法告诉您您需要的确切 gst 管道。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 2019-08-25
    • 2014-08-31
    • 1970-01-01
    • 2011-12-04
    相关资源
    最近更新 更多