Как получить потоковое имя VOD с помощью API в Ant Media Server?
В примере, скажем, я создаю прямой эфир под названием "XYZ". Он записывает записи в прямом эфире, и теперь я хочу обновить свою БД, указав URL записанного живого потока. Это нормально, пока имя потока уникально, но допустим, что есть 2 потока с одинаковым именем, Ant сохраняет его как
XYZ-2018-08-09_09: 50.mp4
XYZ-2018-08-10_09: 50.mp4
Как я могу получить это имя файла?
Или это единственный способ создать уникальные имена потоков?
Спасибо
1 ответ
Есть способы сделать их обоих.
Сначала создаем уникальные имена потоков:
Для этого есть служба отдыха. Вы можете создавать потоки с помощью службы создания трансляций в этой строке https://github.com/ant-media/Ant-Media-Server/blob/master/src/main/java/io/antmedia/rest/BroadcastRestService.java#L135
Этот сервис возвращает вас с rtmpURL, который имеет уникальное имя потока
Во-вторых, в сервисе отдыха есть метод get VoD list. https://github.com/ant-media/Ant-Media-Server/blob/a157d263088876fafef9c7108dda8dcc821c1bb2/src/main/java/io/antmedia/rest/BroadcastRestService.java#L922 Вы можете получить все имена VoD, VODS (и т. д.) от вызова службы выше.
Наконец, если вы хотите получить прямой доступ к службе отдыха, вам нужно удалить фильтр аутентификации в web.xml. Закомментируйте следующие строки в файле web.xml (webapps/LiveApp/WEB-INF/web.xml)
<!-- <filter>
<filter-name>RestAuthenticationFiler</filter-name>
<filter-class>io.antmedia.serverapp.pscp.filter.RestAuthenticationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>RestAuthenticationFiler</filter-name>
<url-pattern>/rest/*</url-pattern>
</filter-mapping>-->
Затем перезапустите сервер, после чего вы сможете получить доступ к остальным сервисам напрямую.