Crear servidor de transmisión de video en indy

Estoy tratando de crear un servidor de transmisión de video usando el servidor Indy Http. Estoy usando solicitudes a distancia para enviar archivos grandes. Una porción de datos tiene 10 Mb de largo. Si el archivo de video que solicita el cliente es menor a 10 Mb, entonces todo está bien y se reproduce vido. Pero si el tamaño del archivo es superior a 10 Mb, devuelvo el primer fragmento de datos. Luego, el cliente me pide otra porción de datos desde el final del archivo y luego mi cliente dice que es un formato de video irreconocible. ¿Alguien puede decirme dónde hay un problema en mi código?

mi código de servidor

procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption := 'Running';
  FServer := TIdHTTPServer.Create(Self);
  FServer.DefaultPort := 7070;
  FServer.OnCommandGet:=@External_Get;
  FServer.Active := True;
end;

procedure TForm1.External_Get(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
  FS: TFileStream;
  Ranges: TIdEntityRanges;
  Range: TIdEntityRange;
begin
  Ranges := ARequestInfo.Ranges;
  Range := Ranges.Ranges[0];

  FS := TFileStream.Create('/home/user/Desktop/large_file.mp4', fmOpenRead or fmShareDenyWrite);
  AResponseInfo.ContentType := 'video/mp4';
  AResponseInfo.AcceptRanges := 'bytes';
  AResponseInfo.ContentStream := TIdHTTPRangeStream.Create(
    FS,
    Range.StartPos,
    Range.StartPos + 1024*1024*10,
    True
  );
  AResponseInfo.FreeContentStream := True;

  AResponseInfo.ContentRangeStart := TIdHTTPRangeStream(AResponseInfo.ContentStream).RangeStart;
  AResponseInfo.ContentRangeEnd := TIdHTTPRangeStream(AResponseInfo.ContentStream).RangeEnd;
  AResponseInfo.ContentRangeInstanceLength := AResponseInfo.ContentRangeEnd - Range.StartPos + 1;
  AResponseInfo.ContentLength := FS.Size;  
  AResponseInfo.ResponseNo := 206;
end; 

Y aquí está mi código de cliente (uso Firefox):

<!DOCTYPE html> 
<html> 
<head>
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
    <meta content="utf-8" http-equiv="encoding">
</head>
<body> 

<video width="400" controls>
  <source src="http://localhost:7070/test38.mp4" type="video/mp4">
  Your browser does not support HTML5 video.
</video>

</body> 
</html>

Respuestas a la pregunta(1)

Su respuesta a la pregunta