...
- HTTP: http://test.flashphoner.com:90918081/rest-api/pull/rtmp/pull
- HTTPS: https://test.flashphoner.com:88888444/rest-api/pull/rtmp/pull
Здесь:
- test.flashphoner.com - адрес WCS-сервера
- 9091 8081 - стандартный REST / HTTP порт WCS-сервера
- 8888 8444 - стандартный HTTPS порт
- rest-api - обязательная часть URL
- /pull/rtmp/pull - используемый REST-метод
REST-методы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример тела REST-ответа | Статусы ответа | Описание | ||||||
---|---|---|---|---|---|---|---|---|---|---|
/pull/rtmp/pull |
| 409 - Conflict 500 - Internal error |
Извлечь RTMP-поток по указанному URL |
/pull/rtmp/find_all |
| 200 – потоки найдены 404 – потоки не найдены | Найти все извлеченные RTMP-потоки | ||||||||
/pull/rtmp/terminate |
| 200 - поток завершен 404 - поток не найден | Завершить извлеченный RTMP-поток |
Параметры
Имя параметра | Описание | Пример |
---|---|---|
uri | URL RTMP-потока | rtmp://myserver.com/live/myStream |
record | Записывать ли захваченный поток | true |
localMediaSessionId | Идентификатор сессии | 5a072377-73c1-4caf-abd3 |
localStreamName | Локальное имя, присвоенное захваченному потоку. По данному имени поток может быть запрошен с WCS сервера | rtmp://myserver.com/live/myStream |
status | Текущий статус потока | PROCESSED_REMOTE |
Настройка
В каталоге /usr/local/FlashphonerWebCallServer/conf может располагаться файл описания SDP для RTMP-агента rtmp_agent.sdp:
...
Ниже приводится последовательность выполнения операций при захвате RTMP-потока с другого сервера
Известные проблемы
Excerpt |
---|
1 |
...
. Поток, содержащий B-фреймы, не воспроизводится либо воспроизводится с артефактами (задержки, подергивания) Симптомы: |
...
не проигрывается, дает задержки видео или подергивания
Решение: |
...
изменить настройки кодировщика таким образом, чтобы исключить использование B-фреймов (понизить профиль кодирования, |
...
2) При записи захваченного потока на диск записывается только аудиодорожка
...
указать в командной строке и т.п.). 2. AAC фреймы типа 0 не поддерживаются декодером FFmpeg и будут игнорироваться при воспроизведении захваченного потока При этом в клиентском логе будут выведены предупреждения:
Решение: использовать кодек Fraunhofer при помощи настройки в файле flashphoner.properties
3. При публикации и последующем воспроизведении и записи H264 + AAC потока возможна рассинхронизация видео и звука, либо полное отсутствие звука. Симптомы: при воспроизведении H264 + AAC потока, опубликованного на сервере, а также в записи потока, звук не синхронизирован с видео или отсутствует Решение: а) установить настройку в файле flashphoner.properties
Эта настройка, в том числе, отключает игнорирование AAC фреймов. б) использовать кодек Fraunhofer при помощи настройки
4. При преобразовании звуковой дорожки AAC к частоте дискретизации 11025 Гц звук искажен или отсутствует Симптомы: при публикации H264 + AAC потока на WCS сервере и воспроизведении его как H264 + AAC c частотой дискретизации звука 11025 Гц звук искажен или отсутствует Решение: не использовать частоту дискретизации звука 11025 Гц, либо избегать преобразования звука к данной частоте, например, не указывать данную частоту в файлах настроек SDP. |
5. Некоторые функции RTMP не поддерживаются и будут игнорированы:
- FCSubscribe
- FCPublish
- FCUnpublish
- onStatus
- onUpstreamBase
- releaseStream
6. В записи потока присутствует только звук
Симптомы: при установленном параметре запроса /pull/rtmp/pull параметра "record": "true" в полученном файле отсуствует видеодорожканет видео, есть только аудиозвук.
Решение: указать в настройке SDP атрибут в настройках SDP установить
Code Block | ||||
---|---|---|---|---|
| ||||
a=sendonly |
атрибут для видеодорожкивидео.