1) Читать
статьи Арутюняна от забора и до обеда:
2) Выстроить для себя представление о кодеке, медиаконтейнере, транспорте и их взаимосвязях.
Нужно понимать, что такое первое, второе и третье (нет, это не меню в столовке). И как одно влияет на другое.
Например, надо понимать, что кодек обязательно нужно тюнить под рилтайм, а именно, накрутить ему частоту ключевых кадров на максимум. Иначе усеру придется по полминуты ждать I-Frame
Надо понимать, что в зависимости от платформы и браузера, вы получаете ограничения на кодек, контейнер и транспорт - старый ыфон понимает только h264 baseline, сваленный в H264 annexb поток и передаваемый по HLS
(и это только один вариант связки)
То есть, то что выходит из кодека, для живой трансляции нужно положить в правильный контейнер и засунуть в правильный транспорт.
Первые две задачи делает ffmpeg, третью - сервер вещания.
Чем больше надо поддержать девайсов, тем больше конфигураций вещания и перекодированных потоков (хотите вещать в разных разрешениях - напрягайте ffmpeg на декодинг - скейл - кодинг)
Хотите, чтобы вас могли посмотреть на тачке с линуксом - кодируйте в VP8/9
Короче, поле ОБШИРНОЕ, ответ со всеми вариантами займет целую книгу, а я два месяца провозился, настраивая корпоративный стриминг видеозвонков с учетом всех нужных хотелок.