Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 13.01.2014, 21:25
zibert zibert вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: NikolayevCity
Сообщения: 40
Версия Delphi: Семерка))
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Чем не устроил высланный файл?
Поглядел ваш файл, он "заточен" под юникод, хотя по-умолчанию отключён. Если используете Дельфи7, то нужно часть вызываемых функций в GrabAVIFrame изменить. К примеру, AVIFileInfo менем на AVIFileInfoA.
Так самое интересное, что через F7 ошибка вылетает после end (в конце функции)....
__________________
Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно.
Ответить с цитированием
  #17  
Старый 14.01.2014, 00:15
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Чтобы не вылетало измени
Код:
    TmpBmp.Handle := hBmp;
//    AVIStreamGetFrameClose(gapgf);
    AVIStreamRelease(AVIStream);
//    AVIFileRelease(pfile);
    AVIFileExit;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #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;
Видео каким кодеком "компресируется"?
__________________
Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно.
Ответить с цитированием
  #19  
Старый 16.01.2014, 07:36
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Авишка без кодеков воспроизводится. Это базовый формат, такой же как и wav.

В основном большинство кодеков (пользовался только аудио-кодеками, на счет видео не уверен на 100%) декодируют в ави, так что конечно можно дергать нужные фреймы.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
zibert (18.01.2014)
  #20  
Старый 22.01.2014, 21:33
zibert zibert вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: NikolayevCity
Сообщения: 40
Версия Delphi: Семерка))
Репутация: 10
По умолчанию

Всем спасибо. Разобрался. Можно закрывать.
__________________
Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:46.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter