記一次 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);

 

 

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