Отсылка опций потоков если поток создается по rtmp

Как? Скажем, я шлю поток на ff от ffmpeg на сервере, через rtmp URL. Как мне передать опции потока, которые можно отсылать с клиента через JS API? Очевидный вариант - так же как шлются опции HTTP в браузере - rtmp://127.0.0.1/live/streamName?option=value&option2=value2 - не сработал.

В частности мне нужна опция rtmpUrl, которая юзается в примере https://flashphoner.com/testing-of-webrtc-re-publishing-to-youtube-live-as-rtmp/ - хочу этот поток рестримить с ff на youtube live

если есть какой-то пример как рестримить потоки на YT Live не с веб-апи - было бы круто
 

Max

Administrator
Staff member
Как мне передать опции потока, которые можно отсылать с клиента через JS API? Очевидный вариант - так же как шлются опции HTTP в браузере - rtmp://127.0.0.1/live/streamName?option=value&option2=value2 - не сработал.
Про ffmpeg можно найти например здесь:
https://forum.flashphoner.com/threads/Публикация-потока-из-ffmpeg.10759/#post-11434

Параметры RTMP коннекта передаются так:
Code:
ffmpeg -re -i /opt/vichatter-viplay/shared/htdocs/132.mp4 -f flv -rtmp_conn "O:1 NS:appKey:flashStreamingApp NS:name:12121212 NS:stream:12121212 NO:custom:O:1 NS:auth:22222222 NS:stream:3333333 O:0 O:0" rtmp://fws.vichatter.com:1935/12121212
В частности мне нужна опция rtmpUrl, которая юзается в примере https://flashphoner.com/testing-of-webrtc-re-publishing-to-youtube-live-as-rtmp/ - хочу этот поток рестримить с ff на youtube live[. если есть какой-то пример как рестримить потоки на YT Live не с веб-апи - было бы круто
Есть метод /rest-api/push/startup
Примеры есть тут:
https://flashphoner.com/docs/wcs5/wcs_docs/html/en/wcs-rest-api/index.html?examples.htm
Этот метод начинает ре-публикацию потока по RTMP.
 
Сразу же возникает вопрос - а что если поток у меня на ff имеет одно имя, а на youtube должно быть другое (его же youtube сам мне выдает? скажем webby_combined_stream у меня и p14m-hh4u-03yy-xxxx у youtube?
 

Max

Administrator
Staff member
Есть серверная настройка в flashphoner.properties:
Code:
rtmp_transponder_full_url=true
Если ее выставить, то будет применяться тот адрес, который задан в rtmpUrl
streamName будет игнорирован.
Т.е. можно в rtmpUrl указать полный путь, включая имя стрима, например:
Code:
"rtmpUrl":"rtmp://host:1935/live/stream1"
 
Top