https://github.com/bluenviron/mediamtx
https://hub.docker.com/r/bluenviron/mediamtx
Download and launch the image:
docker run -it
-e MTX_PROTOCOLS=tcp
-e MTX_WEBRTCADDITIONALHOSTS=192.168.1.111
-p 28554:8554
-p 11935:1935
-p 18888:8888
-p 18889:8889
-p 18890:8890/udp
-p 18189:8189/udp
bluenviron/mediamtx:latest-ffmpeg
docker搭建的话,直接进入容器内部用命令推流
docker exec -it d59cfdd95e4f /bin/sh 进入容器,使用以下命令推流,,exit退出容器
推流命令
ffmpeg -re -stream_loop -1 -i 22.mp4 -c copy -an -f rtsp rtsp://127.0.0.1:8554/mystream 视频,循环推流
监控推流
ffmpeg -i rtsp://192.168.1.6:554/onvif1 -c copy -f rtsp rtsp://localhost:8554/mystream
电脑USB摄像机推流,首先获取USB摄像头名称
ffmpeg -list_devices true -f dshow -i dummy 查看摄像头名称
ffmpeg -f dshow -i video="USB2.0 PC CAMERA" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://192.168.1.3:8554/video -thread_queue_size 50
ffmpeg: 这是调用FFmpeg程序的命令。
ffmpeg -list_devices true -f dshow -i dummy 查看摄像头名称
-re: 以实时速率读取输入文件,使其与摄像头的实时数据流保持同步。
-rtsp_transport tcp: 这个参数是用来指定RTSP流的传输协议为TCP。
-vcodec h264: 输出视频的编解码器为H.264。
-b:v 1000k: 比特率为1000千位每秒 (k表示千位)。比特率决定了视频的质量和文件大小。
-f rtsp: 输出格式为RTSP流。
-an 表示不编码音频
web实时观看页面 http://localhost:8889/mystream
vlc拉取命令 rtsp://localhost:8554/mystream
python detect.py --source C:\Users\qinpc\Downloads/花园-20240413-122411.mp4 --view-img --classes 0 --conf-thres 0.5
yolov5识别视频人物
--view-img 表示可见视频,显示实时视频,去掉就不见
--classes 0 只识别人,去掉全部物体都识别
--conf-thres 0.5 表示0.5以下的不显示
python detect.py --source http://192.168.1.3:8080 --classes 0 --view-img --conf-thres 0.5