Написал тут python скриптик для синхронизации видоархива камер dahua и облака mega.nz. Он позволяет скачать dav файлы за заданный период с камеры и тут же заливает их в облако.
Собственно прошу не придраться к самой теме, ибо по пути у меня еще предусмотрена обработка этих файлов при помощи компьютерного зрения, потому прямая заливка на ftp или nas не интересна. Да и вообще, все же захотелось свой метод выдергивания файлов из камер с SD картами/регистратора. Тот же RemotePlayBackTool подзадолбал своим ограничением в 100 файлов, когда пришлось вытягивать видео за неделю с достаточно проходной камеры. Да и , внезапно, не работает он с одиночными камерами. Хотя API тот же.
Для себя изучив API dahua, написал вот такой скриптик (во вложении). Он умеет подключаться к камере, вытягивать Dav файлы за интервал времени без ограничения по количеству, и заливать их на удаленный сервер.
При подключении к одиночной камере с SD картой все работает без проблем.
Однако при попытке скачать файл с регистратора (DHI-NVR2108-4KS2 V4.000.0000001.5 ), постоянно получаю ошибку авторизации. Т.е. процесс подключения проходит штатно, список файлов отдается верно, но вот скачка dav файла обламывается с ошибкой авторизации.
Ссылка на скачку выглядит вот так:
авторизация digest (хотя пробовал и basic)
Размер файла в заголовке запроса отдается, а вот скачка не идет.
При подключении к одиночной камере все работает, а к регистратору не хочет. Через браузер также не получается скачать файл по ссылке. Та же ошибка авторизации. Там в новой версии что-то поменяли с безопаской? Пробовал включать compatible mode безопасности - тот же эффект.
P.S. кстати , а может ли кто поделиться свежим dahua API ? Хотя бы 2.7
Собственно прошу не придраться к самой теме, ибо по пути у меня еще предусмотрена обработка этих файлов при помощи компьютерного зрения, потому прямая заливка на ftp или nas не интересна. Да и вообще, все же захотелось свой метод выдергивания файлов из камер с SD картами/регистратора. Тот же RemotePlayBackTool подзадолбал своим ограничением в 100 файлов, когда пришлось вытягивать видео за неделю с достаточно проходной камеры. Да и , внезапно, не работает он с одиночными камерами. Хотя API тот же.
Для себя изучив API dahua, написал вот такой скриптик (во вложении). Он умеет подключаться к камере, вытягивать Dav файлы за интервал времени без ограничения по количеству, и заливать их на удаленный сервер.
При подключении к одиночной камере с SD картой все работает без проблем.
Login OK! Total: 53687091200.0 Used: 35095520.0 Free: 53651995680.0
Trying to login 192.168.0.110
Login success! Got token: 64538280
Trying to find files in interval: 2020-8-16 01:30:00 - 2020-8-16 01:40:00
Find files success! Got response: OK
Got file record: /mnt/sd/2020-08-16/001/dav/01/01.29.18-01.30.17[M][0@0][0].dav length: 26052907
Got file record: /mnt/sd/2020-08-16/001/dav/01/01.30.19-01.32.56[M][0@0][0].dav length: 72192180
Got file record: /mnt/sd/2020-08-16/001/dav/01/01.33.20-01.39.18[M][0@0][0].dav length: 143003371
File c:\temp\01.29.18-01.30.17[M][0@0][0].dav exists, skipping!
File: 192.168.0.120_4_20200614131500-20200614131908.dav Size: 35095520 Date: 2020-08-16 22:10:23 [0 days]
UPLOADING ...c:\temp\01.29.18-01.30.17[M][0@0][0].dav
100%|██████████| 26.1M/26.1M [01:34<00:00, 275kiB/s]
Downloading 2 of 3 to c:\temp\01.30.19-01.32.56[M][0@0][0].dav
100%|██████████| 72.2M/72.2M [00:09<00:00, 7.57MiB/s]
File: 192.168.0.120_4_20200614131500-20200614131908.dav Size: 35095520 Date: 2020-08-16 22:10:23 [0 days]
File: 01.29.18-01.30.17[M][0@0][0].dav Size: 26052907 Date: 2020-08-16 23:35:04 [0 days]
UPLOADING ...c:\temp\01.30.19-01.32.56[M][0@0][0].dav
100%|██████████| 72.2M/72.2M [05:09<00:00, 233kiB/s]
Downloading 3 of 3 to c:\temp\01.33.20-01.39.18[M][0@0][0].dav
100%|██████████| 143M/143M [00:18<00:00, 7.60MiB/s]
File: 192.168.0.120_4_20200614131500-20200614131908.dav Size: 35095520 Date: 2020-08-16 22:10:23 [0 days]
File: 01.29.18-01.30.17[M][0@0][0].dav Size: 26052907 Date: 2020-08-16 23:35:04 [0 days]
File: 01.30.19-01.32.56[M][0@0][0].dav Size: 72192180 Date: 2020-08-16 23:40:26 [0 days]
UPLOADING ...c:\temp\01.33.20-01.39.18[M][0@0][0].dav
14%|█ | 20.4M/143M [01:29<09:00, 227kiB/s]
Trying to login 192.168.0.110
Login success! Got token: 64538280
Trying to find files in interval: 2020-8-16 01:30:00 - 2020-8-16 01:40:00
Find files success! Got response: OK
Got file record: /mnt/sd/2020-08-16/001/dav/01/01.29.18-01.30.17[M][0@0][0].dav length: 26052907
Got file record: /mnt/sd/2020-08-16/001/dav/01/01.30.19-01.32.56[M][0@0][0].dav length: 72192180
Got file record: /mnt/sd/2020-08-16/001/dav/01/01.33.20-01.39.18[M][0@0][0].dav length: 143003371
File c:\temp\01.29.18-01.30.17[M][0@0][0].dav exists, skipping!
File: 192.168.0.120_4_20200614131500-20200614131908.dav Size: 35095520 Date: 2020-08-16 22:10:23 [0 days]
UPLOADING ...c:\temp\01.29.18-01.30.17[M][0@0][0].dav
100%|██████████| 26.1M/26.1M [01:34<00:00, 275kiB/s]
Downloading 2 of 3 to c:\temp\01.30.19-01.32.56[M][0@0][0].dav
100%|██████████| 72.2M/72.2M [00:09<00:00, 7.57MiB/s]
File: 192.168.0.120_4_20200614131500-20200614131908.dav Size: 35095520 Date: 2020-08-16 22:10:23 [0 days]
File: 01.29.18-01.30.17[M][0@0][0].dav Size: 26052907 Date: 2020-08-16 23:35:04 [0 days]
UPLOADING ...c:\temp\01.30.19-01.32.56[M][0@0][0].dav
100%|██████████| 72.2M/72.2M [05:09<00:00, 233kiB/s]
Downloading 3 of 3 to c:\temp\01.33.20-01.39.18[M][0@0][0].dav
100%|██████████| 143M/143M [00:18<00:00, 7.60MiB/s]
File: 192.168.0.120_4_20200614131500-20200614131908.dav Size: 35095520 Date: 2020-08-16 22:10:23 [0 days]
File: 01.29.18-01.30.17[M][0@0][0].dav Size: 26052907 Date: 2020-08-16 23:35:04 [0 days]
File: 01.30.19-01.32.56[M][0@0][0].dav Size: 72192180 Date: 2020-08-16 23:40:26 [0 days]
UPLOADING ...c:\temp\01.33.20-01.39.18[M][0@0][0].dav
14%|█ | 20.4M/143M [01:29<09:00, 227kiB/s]
Ссылка на скачку выглядит вот так:
http://192.168.0.120/cgi-bin/RPC_Loadfile/mnt/dvr/2020-06-22/003/dav/08/0/0/183965/08.31.03-08.31.54[M][0@0][0].dav
авторизация digest (хотя пробовал и basic)
Размер файла в заголовке запроса отдается, а вот скачка не идет.
HTML:
URL Syntax http://<ip>/cgi-bin/RPC_Loadfile/<filename>
For example:
http://10.61.5.117/cgi-bin/RPC_Loadfile/2012_09_15_12_37_05:2012_09_15_18_34_14[0][0].dav
При подключении к одиночной камере все работает, а к регистратору не хочет. Через браузер также не получается скачать файл по ссылке. Та же ошибка авторизации. Там в новой версии что-то поменяли с безопаской? Пробовал включать compatible mode безопасности - тот же эффект.
P.S. кстати , а может ли кто поделиться свежим dahua API ? Хотя бы 2.7
Вкладення
-
31.6 КБ Перегляди: 99
Останнє редагування: