Eu quero capturar o fluxo RTSP de algumas câmeras IP, e depois de olhar em volta eu encontrei duas ótimas ferramentas para fazer isso: avconv e openRTSP
openRTSP -u user password rtsp://10.48.34.125/axis-media/media.amp
avconv -i "rtsp://user:[email protected]/axis-media/media.amp" -vcodec copy -f mp4 10.48.34.125.mp4
mas por algum motivo voodoo quando eu preciso usar URLs sem uma extensão específica, como:
rtsp://user:[email protected]/
avconv retorna 401 Unauthorized
então estou preso ao openRTSP no momento ...
O problema é que, ao contrário do avconv, o openRTSP exibe um arquivo bruto codificado para 25fps, o que faz com que alguns dos meus vídeos pareçam estar em alta velocidade. Eu encontrei uma maneira (cpu cara) de re-codificar o arquivo para uma taxa de quadros mais próxima do que eu preciso:
avconv -r 7 -i video-H264-1 -r 24 -f mp4 10.48.34.28.mp4
(neste exemplo estou forçando a taxa de quadros do arquivo raw a ser 7, e a taxa de quadros do arquivo de saída para 24. Eu tentei usar flags embutidas openRTSP, mas o arquivo de saída ainda tinha um taxa de quadros de 25: openRTSP -f 7 -u user password rtsp://10.48.34.145/mpeg4/media.3gp
)
Infelizmente, o vídeo parece estranho em certos pontos, e isso ocorre porque o fluxo original às vezes tem uma taxa de quadros variável (por exemplo, à noite).
Minha pergunta é, existe alguma maneira de desativar esse encondig padrão para 25fps?
E por que 25? Quero dizer, não é a norma 24?
Estou usando dois tipos de câmeras: Axis e Bosch. As que estou tendo problemas são as câmeras Bosch.