1、从githun下载合适的MediaMTX,我用的版本是1.8.1,解压后在文件目录下打开终端:
nvidia@hhhhh:~/Downloads/mediamtx_v1.8.1_linux_arm64v8$./mediamtx
运行mediamtx。
https://github.com/bluenviron/mediamtx/releaseshttps://github.com/bluenviron/mediamtx/releases2、将要推送的本地视频的路径填在location里,案例是放在主目录的H264test.mp4。将本地的mp4文件先硬件解码,再编码(可能是视频源的问题)可以通过本地8554端口推流。
将本地视频转成H264通过本地rtsp推流
gst-launch-1.0 filesrc location=./H264test.mp4 ! qtdemux ! queue ! h264parse ! nvv4l2decoder enable-max-performance=1 ! nvv4l2h264enc ! rtspclientsink location = rtsp://localhost:8554/mystream
3、在局域网中可以使用vlc 输入 rtsp://推流机器ip :8554/mystream 看到推流成功的视频。
如果不支持硬件加速可以将 nvv4l2decoder和nvv4l2h264enc这两个解码编码元素 替换成avdec_h264和x264enc