Почему vlc-клиент не определяет продолжительность видео при получении потока от vlc-сервера?
потому-что передаётся как поток, а не как обычный файл, пока всё не передастся, клиент не знает, когда закончена трансляция.
@HellFir-e правильно говорит, а вам нужно не живое вещание, а скорее Video on demand. Вот здесь почитайте. Но вообще для этого лучше подходит какой-нибудь http-сервер (nginx)