Здравствуйте, коллеги!
Пытаюсь на коленках организовать запись с наружных камер видеонаблюдения на локальный HDD. Камеры простые, отдают поток RTSP по ссылке вида
rtsp://111.222.333.444:554/user=user&password=password&channel=1&stream=0?.sdp
В качестве граббера потока выбрал ffmpeg, который (теоретически) должен уметь выполнять конструкцию вида
/usr/bin/ffmpeg -i ‘rtsp://111.222.333.444:554/user=user&password=password&channel=1&stream=0?.sdp’ ~/Videos/cam01.mp4
Поток живой, VLC открывает и показывает с минимальной разумной задержкой (секунда-две). При этом ffmpeg пытается подключиться, пасует на UDP, переключается на TCP но и там отваливается по тайм-ауту со словами «Output file #0 does not contain any stream».
При этом, на этапе записи НЕ стоит задача перекодировки потока. Только захват и запись, остальное, при необходимости, можно будет выполнить позже. Для этого попробовал указать -vcodec copy -acodec copy, но ffmpeg version 3.4.7 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39)
отказался. Говорит: «Unknown decoder ‘copy’».
Планирую загнать под cron и запускать процесс, скажем, каждый час, убив его предшественника с задержкой в несколько секунд, чтобы обеспечить незначительный перехлёст в записи, исключив разрывы.
В общем, прошу помощи: как правильно должна выглядеть строка запуска ffmpeg под мою задачу?
Заранее признателен!
P.S. Сюда, по понятным причинам, выложить не могу, но, если кому-то будет нужно для исследования данной проблемы, в личку готов дать ссылку на реальный поток.