Я могу открыть поток в VLC, но в OpenCV я не могу захватывать кадры.(Python 2.7, бинарный дистрибутив OpenCV 3.4.3 x86, Windows 10).Я следовал этому руководству: https://medium.com/@tomgrek/hackers-guide-to-the-aws-deeplens-1b8281bc6e24, но я не могу читать со случайных потоков онлайн (не уверен, смогу ли я это сделать, я видел этот вопрос opencv videocapture не может открыть поток MJPEG о компиляции с помощью ffmpeg, но я только что скачал бинарный файл, доступный в Sourceforge).
Я использую AWS Deeplens, обновлен до последней версии.
Установлен ffmpeg, последняя версия.
Затем в /etc/ffserver.conf я добавил:
<Stream camera.h264>
File "/opt/awscam/out/ch1_out.h264"
VideoFrameRate 6
VideoSize 320x240
NoAudio
</Stream>
<Stream camera.mjpeg>
File "/opt/awscam/out/ch2_out.mjpeg"
VideoFrameRate 3
VideoSize 640x480
Format mjpeg
NoAudio
</Stream>
- Я запускаю
ffserver -f /etc/ffserver.conf
- На моем компьютере с Windows я использую WSL и открываюSSH-туннель в AWS Deeplens
ssh -L 8090:localhost:8090 aws_cam@192.168.0.10
- На этом этапе на моей машине с Windows я могу открыть VLC и, если я укажу на
http://localhost:8090/camera.mjpeg
, я смогу видеть поток с камеры.
Но если я запускаю следующий код:
cam = cv2.VideoCapture("http://localhost:8090/camera.mjpeg")
success, frame = cam.read()
opened = cam.isOpened()
success, frame, opened
, я получаю:
False, None, False
Если я просматриваю http://localhost:8090/stat.html
, я вижу:
Available Streams
Path Served Conns bytes Format Bit rate kbits/s Video kbits/s Codec Audio kbits/s Codec Feed
test1.mpg 0 0 mpeg 96 64 mpeg1video 32 mp2 feed1.ffm
test.asf 0 0 asf_stream 320 256 msmpeg4 64 wmav2 feed1.ffm
stat.html 17 42150 - - - -
index.html 0 0 - - - -
camera.h264 3 6805k h264 0 0 libx264 0 /opt/awscam/out/ch1_out.h264
camera.mjpeg 12 41073k mjpeg 0 0 mjpeg 0 /opt/awscam/out/ch2_out.mjpeg
И каждый раз, когда я звоню VideoCapture()
, я вижу, как число Served
для потока camera.mjpeg
увеличивается на 2 или 3, а bytes
увеличивается на несколько мегабайт, но я ничего не вижу вOpenCV.Я не пробовал никакое другое видеоустройство в моей Windows 10, но я не могу читать изображения без проблем.Я также попробовал случайный поток онлайн, также открывается в VLC, но не в OpenCV, попробовал этот: http://136.176.70.200/mjpg/video.mjpg
Есть идеи?