通过命令行中的 ffmpeg 或 opencv 获取灰度图像从 IP 摄像机捕获图像

capture image from IP camera through ffmpeg in command line or opencv getting a gray image

现在我有一个网络摄像机。我试图通过 ffmpeg 获取图像(像这样: ffmpeg -rtsp_transport tcp -i "my rtsp stream address" -y -f image2 test.jpg )。没关系!或者我尝试通过opencv做到这一点,当我在vlc中打开流时没有问题too.But,同时,我尝试捕获图像,哦,我只是得到一个灰色图像。 为什么?如果我在vlc中打开流两次,那也可以!如果同时抓图和看rtsp流,就出现灰色image.Is网络摄像头的原因?normal imagegray image

试试这个 https://gist.github.com/jamek/1dda2add62b3f7ac415a

g++ -s -o ffmpeg_rtsp rtsp.cpp -lavcodec -lavutil -lswscale -lavformat

运行: ./ffmpeg_rtsp "your rtsp stream address"