Capture a imagem imóvel da câmera ip remota usando avconv

2

Eu estou tentando capturar um único ainda de uma câmera ip com o avconv no Ubuntu (servidor).

Alguém pode me dizer o que há de errado com o seguinte comando:

avconv -i rtsp://[USER]:[PASS]@[IPADDRESS]:554/11 -s 1920x1080 -f image2 foo.jpg

A mensagem de erro que estou recebendo no momento é:

avconv version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers
  built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
[rtsp @ 0xb938e0] Could not find codec parameters (Video: h264, 1920x1080)
[rtsp @ 0xb938e0] Estimating duration from bitrate, this may be inaccurate
Guessed Channel Layout for  Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://xxx:[email protected]:554/11':
  Metadata:
    title           : rtsp session
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: h264, 1920x1080, 90k tbn
    Stream #0.1: Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb/s
[buffer @ 0xb98520] Invalid pixel format string '-1'
Error opening filters!

Caso seja de algum valor, estou usando uma câmera IP de 2.0 MB da Sinocam. Eu sou capaz de ver uma transmissão ao vivo da câmera remotamente usando o iSpy. No entanto, não consigo acessar e criar uma imagem ainda usando o avconv.

Obrigado.

UPDATE

 avconv -i rtsp://[user]:[pass]@[ip]:554/11 -f h264 -pix_fmt yuyv422 -video_size 1920x1080 screenshot.png

Cria o arquivo de imagem, mas ainda falha:

[rtsp @ 0x1045a80] Could not find codec parameters (Video: h264, 1920x1080)
[rtsp @ 0x1045a80] Estimating duration from bitrate, this may be inaccurate
Guessed Channel Layout for  Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://admin:[email protected]:554/11':
  Metadata:
    title           : rtsp session
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: h264, 1920x1080, 90k tbn
    Stream #0.1: Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb/s
File 'screenshot.png' already exists. Overwrite ? [y/N] y
[buffer @ 0x1035280] Invalid pixel format string '-1'
Error opening filters!
    
por Stevanicus 13.08.2015 / 17:26

2 respostas

1

Finalmente encontrei a resposta à espreita on-line:

avconv -y -loglevel debug -stimeout 2 -rtsp_transport tcp -i "rtsp://[user]:[pass]@[IP]/11" -q:v 9 -s 1920x108 -vframes 1 test.png
    
por 13.08.2015 / 20:00
1

De acordo com a documentação da AVcon: link

A sintaxe correta para tirar uma screenshot (usando Fbdev) é:

avconv -f fbdev -frames:v 1 -r 1 -i /dev/fb0 screenshot.jpeg

Espero que isso ajude.

    
por 13.08.2015 / 18:04