Ну если там действительно данные идут так как вы описали, без всяких дескрипторов промежуточных, то можно попробовать так:
Код:
Type
TVideoData = record
red, fon, ired: LongInt;
end;
var
VideoData: Array of TVideoData;
VideoFile: File of TVideoData;
i: Integer;
begin
AssignFile(VideoFile, 'c:\bul_hip_art.spo');
Reset(VideoFile);
i := 0;
while not Eof(VideoFile)
do begin
SetLength(VideoData, Length(VideoData)+1);
Read(VideoFile, VideoData[i]);
Inc(i);
end;
CloseFile(VideoFile);
end.