Показать сообщение отдельно
  #18  
Старый 16.01.2014, 00:50
zibert zibert вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: NikolayevCity
Сообщения: 40
Версия Delphi: Семерка))
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Чем не устроил высланный файл?
Поглядел ваш файл, он "заточен" под юникод, хотя по-умолчанию отключён. Если используете Дельфи7, то нужно часть вызываемых функций в GrabAVIFrame изменить. К примеру, AVIFileInfo менем на AVIFileInfoA.
Решил проблему заменой VFW.pas.
Все нормально, но на windows 7.. а вот на XP Стопориться на вот таком моменте:
Код:
  gapgf := AVIStreamGetFrameOpen(AVIStream, nil);
  if gapgf = nil then
  begin
    AVIFileRelease(pFile);
    AVIFileExit;
    Exit;
  end;
То есть после выполнения ф-ии gapgf = nil.
У меня есть предположение, что но ХР не установленно кодеков нужних для распаковки.. А также, раз уж я начал про кодеки, хотелось спросить можно ли как, то использовать кодеки в проекте для получения фреймов из видео, которое закодировано каким то особенным кодеком.

PS
Еще не большей вопрос, а вот при получении и сохранении Видео потока таким способом
Код:
procedure DevideAVIIntoVidioAndAudio(FileName, AVIName, WAVName: string; var VidioIn, AudioIn: boolean);
var
  AVIFile: PAVIFile;
  AudioStream: PAVIStream;
  VideoStream: PAVIStream;
  z: pAVICOMPRESSOPTIONS;
begin
  z := nil;
  AVIFileOpen(AVIFile, PChar(FileName), 0, nil);

  try
    VidioIn := True;
    AVIFileGetStream(AVIFile, VideoStream, streamtypeVIDEO, 0);
    AVISaveV(PChar(AVIName), nil, nil, 1, VideoStream, z);
  except
    VidioIn := False;
  end;

  try
    AudioIn := True;
    AVIFileGetStream(AVIFile, AudioStream, streamtypeAUDIO, 0);
    AVISaveV(PChar(WAVName), nil, nil, 1, AudioStream, z);
  except
    AudioIn := False;
  end;
end;
Видео каким кодеком "компресируется"?
__________________
Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно.
Ответить с цитированием