• 开发EasyRTSPServer组件时如何使用ffserver搭建一套RTSP流媒体服务器并分发RTSP视频流?


    RTSPServer主要是采集摄像头和麦克风数据,进行H.264编码以及aac编码,并对外提供RTSP直播流。市场上成熟的RTSPserver组件很少见,其中EasyRTSPServer就是一款稳定、高效、可靠、多平台支持的RTSPServer组件。

    在我们开发RTSP视频流的分发阶段,我们也考虑过如何使用ffserver分发RTSP视频流,如何搭建RTSP服务器,除了EasyRTSPServer之外,我们探寻出了另外一条由ffserver为基础的道路。

    ffmpeg提供了ffserver可以搭建RTSP流媒体服务器。但是在4.0以上的ffmpeg中已经去除了ffserver,如果需要源码可以下载3.4 的release版本。我们本文将介绍一下用ffserver搭建一套RTSP的流媒体服务器。

    1、下载编译好的ffserver https://ffbinaries.com/downloads

    下载完成后,解压。

    2、目录中只有ffserver可执行文件,运行ffserver 还需要配置文件。配置文件可以从ffmpeg源码的doc文件中拷贝出来进行修改使用,或者自己配置。

    配置ffserver.conf使能RTSP分发功能如下:
    RTSPPort 8554 #rtsp 监听端口
    BindAddress 0.0.0.0
    RTSPBindAddress 0.0.0.0
    MaxHTTPConnections 2000
    MaxClients 1000
    MaxBandwidth 30000
    CustomLog -
    NoDaemon
    #NoDefaults

    <Stream test>
    File "/opt/ffserver-3.4-linux-64/test.mp4"  #文件完整路径
    Format rtp              #格式必须设置成rtp
    </Stream>
    

    3、播放端RTSP地址为rtsp://ip:port/${stream_name}
    stream_name:ffserver.conf中Stream标签的name
    如当前配置下的RTSP地址为rtsp://192.168.99.140:8554/test

    4、运行ffserver

    5、使用VLC进行播放 rtsp://192.168.99.140:8554/test,即可播放成功。

  • 相关阅读:
    (Go)11.九九乘法表示例
    (Go)10.流程控制示例
    (Go)09.指针赋值修改示例
    (Go)08.time示例
    (Go)07.strings与strconv的示例
    (Go)07.Go语言中strings和strconv包示例代码详解02
    (Go)06. Printf格式化输出、Scanf格式化输入详解
    kafka参数在线修改
    vs code golang代码自动补全
    JVM 方法区
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14299220.html
Copyright © 2020-2023  润新知