快速搭建rtsp server(Ubuntu)

打印 上一主题 下一主题

主题 622|帖子 622|积分 1866

        在现代视频监控和实时视频流媒体应用中,实时流协议(RTSP)服务器扮演着至关重要的角色。无论是家庭安防系统、企业级监控还是流媒体服务,RTSP服务器都能提供高效、稳固的解决方案。然而,对于许多初学者或开发者来说,搭建一个功能美满的RTSP服务器似乎是一个复杂且耗时的任务。
        这里将利用simple-rtsp-server快速搭建rtsp server,simple-rtsp-server从文件中读取音视频发送给客户端,文件格式支持MP4、MKV;音视频支持H264、H265、AAC、PCMA;支持rtp over udp、rtp over tcp,利用epoll发送音视频数据。纯C语言实现,简朴高效,搭建方便,只需把要回放的视频放到mp4path路径下中,就可以通过”rtsp://ip:8554/mp4文件名字“地址进行拉流了,文件竣事后会自动循环,不同客户端哀求同一个rtsp地址时,客户端收到的音视频是同步的,这一点和真实摄像头是一样的。项目地址:https://github.com/BreakingY/simple-rtsp-server 。
1、预备

        simple-rtsp-server依赖ffmpeg,版本要求>=4.x。
        依赖安装:
  1. sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev
复制代码
  1. 汇编库:
  2. sudo apt-get install yasm
  3. sudo apt-get install nasm
  4. 视频库:
  5. sudo apt-get install libx264-dev
  6. sudo apt-get install libx265-dev
  7. 音频库:
  8. sudo apt-get install libfdk-aac-dev
  9. sudo apt-get install libmp3lame-dev
  10. sudo apt-get install libopus-dev
复制代码
        源码下载:
  1. wget https://ffmpeg.org//releases/ffmpeg-4.0.5.tar.bz2
  2. tar xjvf ffmpeg-4.0.5.tar.bz2
  3. cd ffmpeg-4.0.5
复制代码
        编译安装:
  1. ./configure --prefix=/usr/local --enable-libx264 --disable-x86asm --enable-nonfree --enable-libfdk-aac  --enable-shared --enable-gpl --enable-libmp3lame --enable-libopus  --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
  2. make
  3. make install
复制代码
2、simple-rtsp-server下载编译

  1. git clone https://github.com/BreakingY/simple-rtsp-server.git
  2. cd simple-rtsp-server
  3. mkdir build
  4. cd build
  5. cmake ..
  6. make -j
复制代码
3、运行

  1. cp -r ../mp4path .
  2. ./rtsp_server 0 (0-不鉴权;1-鉴权)
复制代码
4、拉流测试

        项目中mp4path自带了三个测试文件,后面把想回放的视频放到mp4path中即可
  1. TCP拉流:
  2. ffmpeg -rtsp_transport tcp -i "rtsp://192.168.10.17:8554/test_h264_aac.mp4" -vcodec copy -acodec copy  test_h264_aac_tcp.mp4
  3. UDP拉流:
  4. ffmpeg -i "rtsp://192.168.10.17:8554/test_h264_aac.mp4" -vcodec copy -acodec copy  test_h264_aac_udp.mp4
复制代码
        也可通过VLC直接播放,点击媒体->打开网络串流,输入rtsp地址即可。默认是udp拉流,要利用TCP必要打开工具->偏好设置->输入/编解码器,拉到最下方,选择“RTP over RTSP(TCP)”

        rtsp_server步调会把rtsp信令交互过程打印出来,让我们对rtsp信令交互过程更加清晰。


         我的开源:
         1、Nvidia视频硬解码、渲染、软/硬编码并写入MP4文件。项目地址:https://github.com/BreakingY/Nvidia-Video-Codec
        2、Jetson Jetpack5.x视频编解码。项目地址:https://github.com/BreakingY/jetpack-dec-enc
        3、ffmpeg音视频(H264/H265/AAC)封装、解封装、编解码pipeline,支持NVIDIA硬编解码。项目地址:https://github.com/BreakingY/FFmpeg-Media-Codec-Pipeline
        4、simple rtsp server,小而高效的rtsp服务器,支持H264、H265、AAC、PCMA;支持TCP、UDP;支持鉴权。项目地址:https://github.com/BreakingY/simple-rtsp-server
        5、simple rtp client,rtsp客户端,支持TCP、UDP、H264、H265、AAC、PCMA,支持鉴权。项目地址:https://github.com/BreakingY/simple-rtsp-client

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

三尺非寒

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表