RTSP推流+流媒体+播放流媒体技术方案

  • RTSP推流+流媒体+播放流媒体技术方案
  1. 推流与拉流的前提都是需要有流媒体服务器,所以第一步是进行搭建流媒体服务器,本文的流媒体服务器搭建方式使用的是EasyDarwin流媒体方案
    RTSP推流+流媒体+播放流媒体技术方案
    下载EasyDarwin流媒体服务器,进行服务安装,本机ip地址加端口10008就可查看服务安装结果与推流拉流列表等。
    网站地址:http://ip:10008
    RTSP推流+流媒体+播放流媒体技术方案
    EasyDarwin官网是:http://www.easydarwin.org/
    可以在官网上进行下载EasyDarwin,EasyDarwin流媒体服务是免费,不过EasyDarwin整体技术方案是收费的,所以没有整体使用EasyDarwin官网的技术方案,只使用了EasyDarwin流媒体服务的其中这一项。
  2. 我们在第一步搭建好了流媒体服务器,第二步进行推流,推流的方案使用的ffmpeg进行的推流,ffmpeg是特别强大的专门用于处理音视频的开源库,这里就不做特殊的介绍了,使用ffmpeg的推流指令可以进行推流操作。
    RTSP推流+流媒体+播放流媒体技术方案
    如上图就是通过ffmpeg进行的推流实现的推流操作,具体推流指令可以去ffmpeg官网进行查询,针对视频处理采集、音频处理采集、推流等指令都可以结合操作。
  3. 做好以上两步后就只剩下取流播放了,取流播放器使用的是MediaPlayer播放器进行的播放
                     /**
                     * 此处可以进行api接口
                     * api接口进行获取推流列表、拉流列表等等
                     * 详细的可看api文档信息
                     * 接口地址查看信息
                     * http://本机ip:10008/apidoc/#api-stats
                     * 
                     */
                    string ip = txt_userip.Text;
                    string rtsp = $"rtsp://{ip}/xxx";
                    if (libvlc_instance == IntPtr.Zero)
                    {
                        libvlc_instance = MediaPlayer.Create_Media_Instance();
                        player = MediaPlayer.Create_MediaPlayer(libvlc_instance, pictureBox1.Handle);
                    }
                    var isPlay = MediaPlayer.NetWork_Media_Play(libvlc_instance, player, rtsp);

    RTSP推流+流媒体+播放流媒体技术方案