Red5+FFmpeg搭建流媒體解析環境

  1. 技術背景: 前段時間項目經理給我一個任務網頁接入直播.rtsp://用戶名:密碼@ip:554/cam/realmonitor?channel=1&subtype=0 rtsp格式的直播流

  2. 技術架構 :

    1. 搭建red5流媒體
    2. FFmpeg 實現監控攝像頭的RTSP協議轉RTMP協議直播
    3. 搭建web服務器利用ckplay 播放RTMP協議視頻流
  3. 相關文件  百度網盤鏈接 提取碼:ww9m

  4. windows實現

    1. 基礎條件:java版本在1.8以後

    2. 下載對應的安裝文件

    3. 安裝red5-server  傻瓜式安裝.安裝成功後點擊red5.bat  驗證是否成功,在瀏覽器中輸入http://127.0.0.1:5080/  出現如下圖片

    4. 安裝ffmpeng

      1. 下載 ffmpeg-20190312-d227ed5-win64-shared  具體鏈接在上面的百度網盤的鏈接中
      2. 傻瓜式安裝
      3. 運行 如下命令 ffmpeg -i "rtsp://用戶名:密碼@通道ip:554/cam/realmonitor?channel=2&subtype=0" -f flv   -r 25 -s  640x480 -an "rtmp://127.0.0.1/oflaDemo/hello"  第一次運行時間比較長

      4. 出現如下圖片就說明你ffmpeg已經運行成功了

      5. 啓動本地服務訪問頁面

     核心代碼  js源文件在百度雲盤中

       <script type="text/javascript" src="ckplayer.js"></script>

        <div class="video" style="width: 1000px;height: 600px;"></div>

        <script type="text/javascript">

         var videoObject = {

                          container: '.video',//“#”代表容器的ID,“.”或“”代表容器的class

                          variable: 'player',//該屬性必需設置,值等於下面的new chplayer()的對象

                            autoplay:true,//自動播放

                         live:true,//直播視頻形式

                         video:'rtmp://127.0.0.1/oflaDemo/hello'//視頻地址

             };

           var player=new ckplayer(videoObject);

         </script>

             在網頁中輸入對應的訪問路徑即可出現直播畫面

5.Linux環境搭建

  1.   查看當前jdk版本是否在1.8以後 如果不是按照一個jdk1.8以後的版本,具體例子網上多的是,我就不具體描述了
  2. 下載對應的安裝包   在上面的百度網盤分享文件中red5-server-1.0.10.tar.gz  ffmpeg-4.1.tar.bz2
  3. 安裝red5流媒體服務器
    1. 解壓安裝red5-server-1.0.10.tar.gz
    2. 訪問服務器ip:5080 能否出現.不能出現,查看red5服務器是否啓動.red5是java語言寫的,所以可以通過jps -lm查看是否有對應的服務,如果服務沒有啓動,則去查看對應的日誌,解決對應的問題.如果服務器啓動但是訪問不了,那就說明5080被佔用或者被禁用了,這個就對照網上的教程解決就行.出現上圖的頁面就可以進行下一個步驟
    3. 安裝FFmpeg 這個網上有對應的教程.
    4. 運行 如下命令 ffmpeg -i "rtsp://用戶名:密碼@通道ip:554/cam/realmonitor?channel=2&subtype=0" -f flv   -r 25 -s  640x480 -an "rtmp://127.0.0.1/oflaDemo/hello"  第一次運行時間比較長
    5. 將上述window中頁面代碼中video中的值改爲服務器的地址即可
    6. 出現畫面即搭建成功

6總結

  1. red5流媒體服務器是基於jdk8的.所以安裝red5之前應該確保jdk版本在1.8之後
  2. 暫時沒有開源的網頁直播rtsp格式的代碼,所以採取的是ffmpeg進行轉碼.這個轉碼會導致畫質不清晰.頁面卡頓等情況出現

 

 

               

 

 

 

 

 

 

 

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