RTP-ES推流给zlmediakit

1 开启rtpserver:

http://127.0.0.1:80/index/api/openRtpServer?secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc&port=30000&tcp_mode=1&stream_id=test123&enable_tcp=1
 
2 发流:mp4 解析后数据是RTP-ES发出去的,不是RTP-PS-ES

ffmpeg -re -i  "C:\output.mp4" -vcodec copy -an -f rtp rtp://127.0.0.1:30000

3 会发现没有流注册(我的MP4是10GOP的,关键帧和SPSPPS很频繁)

发现是跟PT值有关;ffmpeg发的RTP-ES的PT值是96;与config.ini 中RTP-PS相同了;注意区分;修改配置文件,让这个96的PT值对应RTP-ES(h264_pt);或者发RTP包打一个其他的PT值,然后ZLM配置文件进行更新

 bool GB28181Process::inputRtp 函数会根据PT值创建不同的track,走不同的解码器,如果ES流走了PS解析,那就无法解析到帧信息和裸数据;就无法进行媒体注册


另外;如果发包的PT值和码流信息,以及config都是对应的;那无法及时注册,可能是因为,送过来的数据没有关键帧;或者是没有SPS。PPS;或者是只接收了部分不完整的帧

 

posted on   邗影  阅读(329)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示