Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2018, 16:15   #1
Elenik
Пользователь
 
Регистрация: 22.03.2013
Сообщений: 23
По умолчанию покадровый просмотр видео в TWindowsMediaPlayer

Здравствуйте.
Помогите разобраться. лет 7-8 назад у меня был написан код просмотра видео -avi в delphi 7 под windows XP. Там было реализовано покадровое перемещение при нажатии на кнопку Button:

wmp.controls.currentPosition:=wmp.c ontrols.currentPosition-0.04;

Все тогда работало. Но программой долго не пользовались и сейчас решили снова к ней вернуться. Но возникли проблемы. Видео замечательно воспроизводится при нажатии на встроенную в компонент кнопку <Play>, но при попытке перемещаться по видео покадрово (нажатием на кнопку Button) наблюдается такая картина: бегунок перемещается, но кадры не меняются.

Подскажите, пожалуйста, в чем может быть причина.
Вложения
Тип файла: rar main.rar (2.9 Кб, 21 просмотров)
Elenik вне форума Ответить с цитированием
Старый 26.04.2018, 17:50   #2
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Причина в виндоусе. У них вся мультимедиа сырая и глючная.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 03.05.2018, 09:31   #3
Elenik
Пользователь
 
Регистрация: 22.03.2013
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
Причина в виндоусе. У них вся мультимедиа сырая и глючная.
И какие варианты?
Elenik вне форума Ответить с цитированием
Старый 03.05.2018, 19:59   #4
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Варианты?
По моему самый простой способ это изобрести портальную пушку как у Рикка с Морти.

FFMeg либо DirectX
Позиционирование там идёт по времени время округляется к ближайшему ключевому кадру. Но не факт. Ключевой кадр раз 5-15 секунд. Но не факт. После позиционирование обязательно необходимо сбросить внутренние буферы. Факт. Думаю что в VP9 вы внутренний буфер не сбросите никак так что от него стоит отказаться в сторону GDI. Но не факт. Проигрываете видео вперёд до корректной позиции. При проигрывание назад движок может пропускать кадры. Но не факт. При проигрывании в перёд кадры выводим не на экран а в буфер.
При по кадровом перемещение дергаем нужные кадры из буфера.

Есть другой вариант перебрать форматы файлов, перебрать разные кодеки, разные DirectX (включая отсутствия), наличие и отсутствие драйвера видеокарты. Разные варианты ОС - тут понятно что надо на WinXP откатиться. А так же наличие любого другого софта которое может повлиять на состав кодеков и фильтров DirectX.
Найти рабочий вариант и больше не вносить изменений в эту систему не устанавливать туда лишний софт. Можно даже в виртуальной машине организовать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 04.05.2018, 10:11   #5
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,755
По умолчанию

Концептуально верным мне кажется плюнуть на TMediaPlayer и взять компоненты FFVCL -- обертку ffmpeg для Delphi. Они платные, но по минимуму что-то и на бесплатной версии можно сделать, думаю. Пример плеера в исходниках у них есть, по крайней мере. Исходников самих компонентов в бесплатной версии нет, но не думаю, что вам это критично.

Если вдруг совсем припечет, интерфейсную часть модулей можно вытащить из DCU-файлов утилитой dcu32int.
Vapaamies на форуме Ответить с цитированием
Старый 21.05.2018, 14:04   #6
Elenik
Пользователь
 
Регистрация: 22.03.2013
Сообщений: 23
По умолчанию

Спасибо, буду пробовать предложенные варианты
Elenik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Просмотр видео с камер и звуковое оповещение с сотового телефона Programmer0 Микроконтроллеры, робототехника, схемотехника, 3D принтеры 7 17.10.2016 10:06
Просмотр видео zdus2757 Работа с сетью в Delphi 7 25.10.2013 04:50
Просмотр видео на vk.com artemavd Работа с сетью в Delphi 11 13.12.2012 16:20
Видеоплеер с покадровый просмотром iukash C# (си шарп) 0 28.06.2012 18:45