【问题标题】:FFMPEG RTP MpegTS MuxrateFFMPEG RTP MpegTS 复用率
【发布时间】:2017-12-04 18:37:59
【问题描述】:

我需要一个应用程序,它接受输入 rtp MpegTS 流并重新复用它,重新映射 PID,然后将其作为 RTP MpegTS 多播发送出去。我了解当前形式的 FFMPEG 无法执行此操作,因为 rtp_mpegts 不会从命令行获取选项。

我已经开始查看 FFMPEG 源代码,以找到一种将其添加到这些选项中的方法。我对 FFMPEG 使用 AVFormatContext 传递信息的方式有点困惑。我在 rtp_mepgts 中添加了一个新的 priv_class,它指向一个包含选项的类(与 mpegtsenc.c 类相同),以便将选项实际添加到该上下文中。但是,当尝试在某处进行重新分配时,它现在失败了。

在走得太远之前 - 这是采取正确的方法吗?这是如何将选项正确添加到 FFMPEG 还是我应该寻找另一种方法?

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:
    1. 可以在 ffmpeg 中重新映射 PID。
      fmpeg -i 输入 -c 复制 -f mpegts \
      -mpegts_original_network_id 0x1122 \
      -mpegts_transport_stream_id 0x3344 \
      -mpegts_service_id 0x5566 \
      -mpegts_service_type 0x1 \
      -mpegts_pmt_start_pid 0x1500 \
      -mpegts_start_pid 0x150 \
      -metadata service_provider="某些提供者" \
      -metadata service_name="某个频道" \
      -tables_version 5 \
      示例.ts
    2. 可以使用 [muxrate] 参数通过 ffmpeg 完成重新混合
    3. 可以使用 multicat 工具将 RTP 更改为 UDP 和 RTP https://www.videolan.org/projects/multicat.html

    【讨论】:

    • 感谢您的信息。正如您建议的那样,结合使用这两个工具将起作用。不幸的是,multicat 仅适用于 linux/mac 操作系统,我们正在 Windows 平台上工作。但是投票给答案,因为它确实提供了解决方案。
    猜你喜欢
    • 2015-08-24
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 2016-05-22
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多