Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 26.04.2018, 17:15   #1
Elenik
Пользователь
 
Регистрация: 22.03.2013
Сообщений: 23
Репутация: 10
По умолчанию покадровый просмотр видео в 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 Кб, 3 просмотров)
Elenik вне форума   Ответить с цитированием
Старый 26.04.2018, 18:50   #2
Pavia
Лис
Профессионал
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 1,444
Репутация: 1533
По умолчанию

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

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

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

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

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

skype: vapaa_mies
По умолчанию

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

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

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

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Просмотр видео с камер и звуковое оповещение с сотового телефона Programmer0 Микроконтроллеры, робототехника, схемотехника, 3D принтеры 7 17.10.2016 11: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
Оплата за просмотр видео yasinskiy Работа на постоянной основе - Вакансии 2 28.08.2009 14:05


16:54.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru