记一次 ffmpeg 接收rtsp异常

     1. 问题描述

 

     客户端使用ffmpeg 获取一个rtsp地址时,出现 连接过程完成, 但是收不到流的情况。使用vlc 正常。

     抓包对比, 发现如下情况:

     

    

 

      服务器 DESCRIBE 信息: 服务器指定 流使用端口9400。

 

    

       客户端 SETUP 信息: 使用的非9400 的 随机端口

      

        服务器回复如上。

        PLAY交互也显示正常。

        但是 , 服务器发送流使用端口却是65535

      

 

2.  问题修改

     修改ffmpeg可以解决这个问题, 让 ffmpeg使用指定的端口9400:

     Rtsp.c -> ff_rtsp_make_setup_request()  

 

3. 通过搜索试验发现, ffmpeg 通过指定 传输方式也可以解决。

av_dict_set(&in_opts, "rtsp_transport",  "tcp", 0);

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章