...
Code Block | ||||
---|---|---|---|---|
| ||||
stream = session.createStream(options).on(STREAM_STATUS.PENDING, function(stream) { ... }).on(STREAM_STATUS.PLAYING, function(stream) { ... }).on(STREAM_STATUS.STOPPED, function() { setStatus(STREAM_STATUS.STOPPED); onStopped(); }).on(STREAM_STATUS.FAILED, function(stream) { ... }).on(STREAM_STATUS.NOT_ENOUGH_BANDWIDTH, function(stream){ ... }); stream.play(); |
Повторное использование подключения к камере
Если к потоку, захваченному с RTSP IP-камеры, присоединяются другие подписчики, будет использовано ранее установленное подключение к камере, при условии, что все подписчики указали одинаковый адрес камеры. Например, запросы к одной и той же камере
Code Block | ||||
---|---|---|---|---|
| ||||
rtsp://host:554/live.sdp |
и
Code Block | ||||
---|---|---|---|---|
| ||||
rtsp://host:554/live.sdp?p=1 |
отличаются, поэтому будет создано два RTSP-подключения, если запросить оба этих потока.
Известные проблемы
1) . Поток, содержащий B-фреймы, не воспроизводится либо воспроизводится с артефактами (задержки, подергивания)
...
Решение: при возможности запрашивать с камеры поток более низкого разрешения, с более низким качеством таким образом, чтобы исключить использование B-фреймов, либо траскодировать данный поток.
2) . Соединение с IP-камерой разрывается при ошибке в любом из треков (аудио или видео)
...
Code Block | ||||
---|---|---|---|---|
| ||||
rtsp_fail_on_error_track=false rtp_force_synchronization=true |
3) AAC . AAC фреймы типа 0 не поддерживаются декодером и будут игнорироваться при воспроизведении захваченного потока
...