zoukankan      html  css  js  c++  java
  • ubuntu下搭建live555 RTSP Server推流

    前言

      live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。

    源码下载

    官网:http://www.live555.com
    目前官网的服务器在维护中,点击其中 source code 即可下载源码了。
    在这里插入图片描述
    源码文件:live.2019.03.06.tar.gz,版本:2019.03.06

    ubuntu下安装

    解压

    tar -xvf live.2019.03.06.tar.gz 

    进入解压目录,如下:

    生成makefiles文件,后面的参数linux-64bit是安装的平台,装在其他平台的话更换为config.后面的后缀即可。

    ./genMakefiles linux-64bit

     sudo apt-get install libssl-dev
    make

    当前目录下会生成mediaServer 文件夹,有一个live555MediaServer可执行文件。

    cd mediaServer
    ./live555MediaServer

    执行如下:

     把一个视频或音频文件放入当前目录(格式必须为上述列表的格式),运行./live555MediaServer即开启的RTSP 服务器。
    用vlc软件输入流媒体的地址即可播放。

    如下,可直接使用python播放:

      

    import cv2

    if __name__ == '__main__':
        carId="rtsp://192.168.187.17:80/test.ts"
        capture = cv2.VideoCapture(carId)# 打开视频sys.argv[1]
        while True:
            #读取帧,read()方法就是将grab和retrieve整合到了一个调用函数
            _,frame = capture.read()
            if frame is None:
                break
            cv2.imshow('image', frame)
            cv2.waitKey(1)                  #让你的程序不直接退出
        capture.release()
        cv2.destroyAllWindows()#清除所有show出来的图像
        pass
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    在JavaScript的数组中进行数组元素查找和替换(JS的indexOf等)
    GNU/Linux Distribution Timeline v12.10
    makefile编写差异
    java快速排序1000万无序数组JVM-Xmx=256M 耗时2s
    Quartz cron表达式
    hdu
    action中实现对批量文件上传的封装
    MyGui笔记(1)建立第一个工程
    Jenkins参数化构建
    最完美的xslt数值函数与字符串函数(转)
  • 原文地址:https://www.cnblogs.com/KdeS/p/15071399.html
Copyright © 2011-2022 走看看