Да, это возможно, но только в некоторых форматах контейнеров. Это невозможно с контейнером QuickTime / MP4. В этих форматах атом moov содержит смещения выборок (местоположения выборок в атоме mdat). Они не известны, пока видео не будет закодировано. С VOD (видео по запросу) вы можете взять готовый файл и переместить атом moov вперед, чтобы улучшить работу потоковой передачи. Но нет никакого способа сделать это, если вы кодируете на лету. Чтобы это работало, вам нужно использовать ориентированный на поток транспортный формат. Что-то вроде FLV или MPEG-TS будет работать. Если вы передадите видео в ffmpeg и скажете, чтобы оно производило видео H.264 в контейнере FLV, вы можете затем подать эти данные на проигрыватель по мере его кодирования, и оно будет работать. Конечно, если вы хотите обслуживать его по HTTP, вам, вероятно, придется написать свой собственный сервер (или модуль для существующего сервера). Ничто из того, что я знаю, не поддерживает обработку файла в том виде, в котором он написан (проблема в том, что размер файла неизвестен при отправке заголовка длины содержимого). Однако если вы передаете видео через RTMP или RTSP, вы можете работать с существующим программным обеспечением.