![открыть записи Onvif rtsp](https://rvso.com/image/1692518/%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8%20Onvif%20rtsp.png)
Я пытаюсь экспортировать записи с NVT в файл (.mp4) с использованием протокола Onvif.
Для доступа к живому видео и записям Onvif использует потоки RTSP.
Сохранение живого видео можно осуществить с помощью ffmpeg, и это тоже отлично работает.
ffmpeg -rtsp_transport tcp -i 'rtsp://10.0.0.210:554/cam/liveUrl' -c copy file.mp4
Но при доступе к записям Onvif я должен определить начальную абсолютную дату и время (и конечную, если необходимо) для отправки на сервер rtsp. Информация должна быть отправлена в запросе PLAY какДиапазон: часызначение. Еще одна полезная настройка —шкала, что позволяет получать видео быстрее реального времени (полезно для скачивания)
Пример запроса с использованием «openRTSP для получения потока»
PLAY rtsp://10.0.0.1/streamURl/ RTSP/1.0
CSeq: 7
Authorization: Digest **************
User-Agent: ./openRTSP (LIVE555 Streaming Media v2023.06.20)
Session: 4001414593142
Scale: 2.000000
Range: clock=20230710T180001Z-20230710T180201Z
OpenRTSP поддерживает установку этих значений в качестве параметров, но не поддерживает h265. Поэтому мне нужно использовать ffmpeg, чтобы "исправить" экспортированные файлы и объединить аудио- и видеопотокиffmpeg -i file_renamed_to.265 -i audio_file -c copy out.mp4
Я хотел бы обойти openRTSP и использовать ffmpeg напрямую. Возможно ли задать "clock range" и "scale" как аргументы ffmpeg?