对于 Ubuntu 和 Debian 系统,可以使用 apt 包管理器来安装 FFmpeg:
sudo apt update
sudo apt install ffmpeg
安装rtsp服务器
mediamtx_v1.2.0_linux_amd64.tar.gz(Releases · bluenviron/mediamtx · GitHub)
解压后在ubuntu本地下执行
harris@harris-desktop:~/work/linux/rtsp$ ./mediamtx
2023/10/21 11:25:07 INF MediaMTX v1.2.0
2023/10/21 11:25:07 INF configuration loaded from /home/harris/work/linux/rtsp/mediamtx.yml
2023/10/21 11:25:07 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
2023/10/21 11:25:07 INF [RTMP] listener opened on :1935
2023/10/21 11:25:07 INF [HLS] listener opened on :8888
2023/10/21 11:25:07 INF [WebRTC] listener opened on :8889 (HTTP)
2023/10/21 11:25:07 INF [SRT] listener opened on :8890 (UDP)
执行后表示已经在监听,此时ubuntu下用ffmpeg进行推流
UDP推流
ffmpeg -re -i input.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream
TCP推流
ffmpeg -re -i input.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:8554/stream
循环推流
ffmpeg -re -stream_loop -1 -i input.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream
推送成功后,在终端3588主板端进行取流
export XDG_RUNTIME_DIR=/run/user/$(id -u)
root@linaro-alip:/# gst-launch-1.0 rtspsrc location=rtsp://192.168.4.75:8554/stream ! rtph264depay ! h264parse ! mppvideodec ! xvimagesink
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
进度:(open)Opening Stream
管道被 PREROLLED ...
此时即可看到拉流的画面