Стрим 60fps - не поддерживается?

Max

Administrator
Staff member
При вызове /rest-api/push/startup можно указать высоту и ширину, в этом случае поток при ретрансляции будет транскодироваться к этим параметрам, например
Code:
curl -H "Content-Type: application/json" -X POST http://localhost:9091/rest-api/push/startup -d '{"streamName":"test","rtmpUrl":"rtmp://remote-server:1935/live/test-480p","width":848,"height":480}'
и отдельный запуск транскодера не нужен. Разумеется, в настройках должно быть выставлено
Code:
rtmp_transponder_stream_name_prefix=
rtmp_transponder_full_url=true
чтобы указать в URL имя потока
Кстати, фикс по излишнему транскодингу уже на тестировании.
 

Max

Administrator
Staff member
В WCS версии 5.2.560 - фикс WCS-2457 - транскодинг при RTMP push без указания разрешения включаться не будет.
 

extr

New Member
и отдельный запуск транскодера не нужен. Разумеется, в настройках должно быть выставлено
Проверил данный вариант с транскодером на уровне wcs
+) требует меньше ресурсов
-) потоки получаются не синхронизированы по timestamp
1. Было бы здорово, иметь возможность передать в /push/statup список потоков на транскодинг
Code:
[
{
    "streamName": "test",
    "rtmpUrl":"rtmp://edge:1935/public-aac/test_240",
    "width":426,
    "height":240
},
{
    "streamName": "test",
    "rtmpUrl":"rtmp://edge:1935/public-aac/test_480",
    "width":854,
    "height":480
},
{
    "streamName": "test",
    "rtmpUrl":"rtmp://edge:1935/public-aac/test_720",
    "width":1280,
    "height":720
}
]
таким образом транскодер мог бы запуститься одновременно для всех потоков, тем самым минимизировать расхождение timestamp.
2. Имеется ли возможность тюнить параметры конкретного потока (bitrate, fps, profile, kframes) при таком подходе?
 

Max

Administrator
Staff member
Добрый день.
таким образом транскодер мог бы запуститься одновременно для всех потоков, тем самым минимизировать расхождение timestamp.
Вы можете отправлять запросы параллельно
Code:
curl -H "Content-Type: application/json" -X POST http://localhost:8081/rest-api/push/startup -d '{"streamName": "test","rtmpUrl":"rtmp://edge:1935/public-aac/test_240","width":426,"height":240}' &
curl -H "Content-Type: application/json" -X POST http://localhost:8081/rest-api/push/startup -d '{"streamName": "test","rtmpUrl":"rtmp://edge:1935/public-aac/test_480","width":854,"height":480}' &
...
но тонкая настройка параметров транскодинга для запроса /push/startup невозможна, необходимо стартовать транскодер таким запросом, а затем републиковать полученный поток на сервер.
Но правильнее в этом случае использовать HLS ABR, над которым мы сейчас работаем. Потребуется CDN из двух серверов: Origin для публикации, он же транскодер, и HLS Edge для того, чтобы с него забирать потоки по профилям, используя HLS ABR.
 
Top