前言
在linux环境下搭建EasyDarwin环境
1、必要环境
Ubuntu16.04
2、安装
2.1 下载ffmpeg
sudo add-apt-repository -y ppa:djcj/hybrid && sudo apt update && sudo apt install -y ffmpeg
2.2 下载EasyDarwin源码
下载地址:点击此处进行下载
2.3 修改内部参数
1.chmod 777 easydarwin.ini
2.vim easydarwin.ini
将如上两处路径修改为自己路径
3、运行
1.chmod 777 start.sh
2.chmod 777 stop.sh
3 chmod 777 easydarwin
4. ./easydarwin
出现以上界面运行成功
4、测试
4.1 测试推流
tcp:
ffmpeg -re -i C:\Users\Administrator\Videos\test.mkv -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://localhost/test
udp:
ffmpeg -re -i C:\Users\Administrator\Videos\test.mkv -rtsp_transport udp -vcodec h264 -f rtsp rtsp://localhost/test
循环推流:
ffmpeg -stream_loop -1 -re -i /home/wanglexin/Traffic/flask_face_detection-master/static/images/cut.mkv -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://172.27.0.66/test
localhost可改成主机ip
命令行输入ifconfig -a
查看主机ip:
其中enp13s0f0表示第一块网卡,inet addr 用来表示网卡的IP地址
出现如下界面证明推流成功
4.2 python播放视频
1.浏览器输入172.27.0.66:10008(主机ip+端口号)进入EasyDarwin界面复制推流地址
2.vim py01.py
创建python文件
3.写入如下代码
import cv2 as cv
cap = cv.VideoCapture("rtsp://172.27.0.66:554/test")
while(1):
ret,frame = cap.read()
cv.imshow("test",frame)
cv.waitKey(30)
3.:wq!进行保存
4.sudo CUDA_VISIBLE_DEVICES=0 python py01.py
指定gpu进行测试
测试效果如下:
5、可能遇到的报错
1.The encoder ‘aac’ is experimental but experimental codecs are not enabled
解决方法1:在.mp4 (视频后缀名后面加入) -strict -2
例如:ffmpeg -stream_loop -1 -re -i /home/wanglexin/Traffic/flask_face_detection-master/static/images/cut.mkv -strict -2 -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://172.27.0.66/test
解决方法2:下载最新版本ffmpeg(推荐)
2.could not write head for output file#0…
解决方法:参数放错位置了,调整到正确位置…博主这里报错是因为把 -strict -2放错了位置…
3.Connection timed out: connect
解决方法:关掉所有关于EasyDarwin的后台程序重新进行推流
4.ffmpeg stream_loop找不到
解决方法:下载最新版本ffmpeg
sudo add-apt-repository -y ppa:djcj/hybrid && sudo apt update && sudo apt install -y ffmpeg
如有问题,欢迎评论区交流