Шаги ==== 1. Развернуть zoneminder на сервере 2. В браузере перейти по адресу http://<server-ip>, внизу страницы из выпадающего списка выбрать APPLY, на открывшейся странице нажать Add 3. Настроить параметры: Вкладка General * Source Type: Ffmpeg * Function: Mocord Вкладка Source * Source Path: rtsp://<camera-ip> * Method: UDP * Capture Resolution (pixels): 1280x720 Нажать SAVE 4. Нажать на название камеры, под изображением нажать на New Event. 5. В открывшейся странице нажать на кнопку "Generate Video" (значок с камерой). 6. Выбрать формат mp4, swf или mov и нажать на такой же значок "Generate Video". 7. Дождаться завершения генерации файла (за прогрессом можно следить с помощью команды вида # tail -f /var/lib/zoneminder/events/1/<date>/<event-id>/ffmpeg.log). 8. Скачать полученный файл, нажав в списке кнопку Download. (на данном этапе видео корректное) 9. Перейти в другое событие (может быть необходимо подождать 10 минут до окончания первого). Повторить шаги 5-8. Фактический результат ===================== В списке файл имеет ненулевой размер, различный для разных форматов. Но для форматов mp4, swf, mov при скачивании фактический размер файла получается 0 байт. В логе веб-интерфейса отображаются ошибки: > 12/5/23, 4:44:59 PM GMT+3 zms_e4 10540 ERR Can't send /var/lib/zoneminder/events/1/2023-12-05/4/00039-capture.jpg: Broken pipe zm_eventstream.cpp 731 > 12/5/23, 4:45:00 PM GMT+3 web_php 10535 ERR Download 0, file: /var/lib/zoneminder/events/1/2023-12-05/4/Event-4-r1-s1.mp4 skins/classic/views/video.php 86 При корректной загрузке последняя ошибка тоже отображается, но "Download 1": > 12/5/23, 4:46:50 PM GMT+3 web_php 7722 ERR Download 1, file: /var/lib/zoneminder/events/1/2023-12-05/1/Event-1-r1-s1.mp4 skins/classic/views/video.php 86 При корректной загрузке mov отображается "Download 2", не очевидно, что именно означает эта цифра. Ожидаемый результат =================== Размер скачанного файла соответствует указанному. Видео воспроизводится. Дополнительно ============= Если попробовать удалить видео в исходном событии, а затем сгенерировать снова, то оно опять генерируется корректно. Возможно, проблема именно в событиях с id > 1. Само видео на сервере (например, /var/lib/zoneminder/events/1/2023-12-05/4/Event-4-r1-s1.mp4) корректное и если передать его с помощью scp, воспроизводится успешно. С другими форматами (mpg, mpeg, wmv, asf, avi) такой проблемы нет. Видео скачивается и воспроизводится в VLC. С оставшимся форматом 3gp другая ошибка: https://bugzilla.altlinux.org/46708. Воспроизводимость ================= Ошибка воспроизводится на виртуальных машинах: [p10] server-10.1-x86-64 zoneminder-1.36.33-alt1.1.x86_64 ffmpeg-4.4.4-alt1.x86_64 [sisyphus] server-10.1-x86-64 zoneminder-1.36.33-alt2.x86_64 ffmpeg-6.0.1-alt1.x86_64 Для скачивания и воспроизведения видео использовалась реальная машина: [p10] kworkstation-10.2.1-x86-64 firefox-esr-115.4.0-alt1.x86_64 chromium-119.0.6045.105-alt0.p10.1.x86_64 chromium-gost-110.0.5481.177-alt1.p10.1.x86_64 vlc-3.0.18-alt3.x86_64