我需要一个应用程序,它接受输入 rtp MpegTS 流并将其重新复用,重新映射 PID,然后将其作为 RTP MpegTS 多播发送出去。我了解当前形式的 FFMPEG 无法执行此操作,因为 rtp_mpegts 不会从命令行获取选项。
我已经开始查看 FFMPEG 源以找到一种将其添加到具有这些选项的方法。我对 FFMPEG 使用 AVFormatContext 传递信息的方式有点困惑。我在 rtp_mepgts 中添加了一个新的 priv_class,它指向一个包含选项的类(与 mpegtsenc.c 类相同),以便将选项实际添加到该上下文中。但是,当尝试在某处进行重新分配时,它现在失败了。
在走得太远之前-这是正确的方法吗?这是如何将选项正确添加到 FFMPEG 还是我应该寻找另一种方法?
最佳答案
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="某个 channel "\
-tables_version 5\
示例.ts
https://www.videolan.org/projects/multicat.html
关于FFMPEG RTP MpegTS 复用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47103500/