Какой интернет протокол лучше использовать для записи видео с IP-камеры? Как убрать задержку при записи видео?
================================================================================================================

 1. Какой протокол(http или rtsp) лучше использовать для захвата видео с IP-камеры с записью и сохранением? Я пробовал использовать по отдельности, у меня получилось так, что http работает с небольшими прерываниями и задержкой(1-2 секунды) и потерей кадров(небольшие части) на видео, а rtsp работает плавно, но очень большая задержка(по-разному бывает, 20, 30 и более секунд), но видео на выходе получается хорошим без потери кадров.  

2. Как убрать задержку и от чего она зависит или как снизить её к минимуму на rtsp/http? Хочется, конечно, чтобы картинка была плавной, как при просмотре видео, так и во время записи.  

3. Из-за чего может быть такая большая задержка в rtsp? Может быть стоит использовать другой кодек? Только я пробовал разные(x264, XVID, DIVX, avc1 и др. наверно), но ничего не изменялось.  

4. Будет ли работать окончание в rtsp(как у меня h264\_pcm.sdp) на других камерах или каждая камера может иметь разное окончание? Хочу оставить это в коде, а не вводить вручную.  

```
cam = cv2.VideoCapture('http://' + a1 + '/video')
сam = cv2.VideoCapture('rtsp://' + a1 + '/h264_pcm.sdp')
```
 

 За задержку воспроизведения потока отвечает интервал между ключевыми кадрами - чем он меньше, тем меньше задержка и больше битрейт. Видео можно начать воспроизводить только с ключевого кадра. То есть, это параметр кодека, в не потока. 

 Задержка в воспроизведении и записи зависит от обработки потока rtsp. Мне удалось ее снизить до уровня 0.1-0.2 мс на качестве 1080p. Использовались библиотеки ffmpeg.  

На окончания в url потоков я бы не рассчитывал. Производитель волен сам определить его. Запишите url хотя бы в ini файл.