Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Embarcadero RAD Studio

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323

Открыть новую тему     Написать ответ в эту тему

V1s1ter



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
         
Обсуждаем новые возможности и баги
 
Просьба писать про Embarcadero RAD Studio XE5, XE6, XE7, XE8, 10.x (Seattle, Berlin,Tokyo)
  По вопросам скачивания - Тема в Варезнике (lite-версии тут)
  Вопросы по неюникодным версиям Delphi — шестая бумага
  Бесплатные Компоненты и утилиты для Delphi/BCB/FreePascal/Lazarus
  Коммерческие компоненты и утилиты для Delphi/BCB
  Вопросы по компонентам для Delphi, C++ Builder разных версий
  Новые языковые возможности, начиная с Delphi 2005 по XE4 — здесь, и New!здесь еще
  Англоязычный официальный форум Embarcadero — здесь
  Embarcadero Quality Central, веб интерфейс — здесь, новый Quality Portal тут
  Программирование на Delphi — викиверситет
  Другие ресурсы
   Предыдущие бумаги
 
     Вопросы ..XE4       Вопросы ..XE3    Вопросы ..XE2      
  Вопросы ..2009-XE    Вопросы ..<2009 / ч.5    Вопросы ..<2009 / ч.4      
  Вопросы ..<2009 / ч.3    Вопросы ..Delphi 2 / ч.2    Вопросы ..Delphi  

  Выключение встроенного эксперта Castalia  для XE8 (иногда помогает при вылетах и тормозах)  
  Полезные плагины(эксперты)

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 15:25 11-09-2013 | Исправлено: Komandor, 15:49 31-03-2024
dred2k



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SuPriTo
Поведение общих папок в системах виртуализации схоже - кое-что в госте странным образом не работает, сталкивался. Видимо, все зависит от полноты реализации протокола smb. В случае с роутером можно самбу покрутить-посмотреть.

Всего записей: 403 | Зарегистр. 15-02-2006 | Отправлено: 19:44 09-08-2015
reenoip



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Скомпилил тестовое (TabbedApplication) приложение под HTC One S (андроид 4.1). Собстна все прошло удачно. Но:  
1. Время компиляции (AMD X250 3Gz 4Gb RAM) около 8 сек . (при том что такое же app для Win32 компилится за 1 сек.)
2. Деплой (загрузка на устройство) идет еще около 10 сек .  
3. Размер получившегося приложения уже в устройстве ~22Мб (понятно что весь RTL/FM)  
4. Скорость запуска приложения около 3 сек!    
5. Но на первый взгляд все пашет норм!  

RuXandr, прошло два года без одного месяца. Есть возможность повторить всё то же самое, чтобы сравнить, есть ли фундаментальные сдвиги в XE(x)?

Всего записей: 1768 | Зарегистр. 10-03-2006 | Отправлено: 13:11 12-08-2015
silealio

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги, есть ли у кого (ссылка на) SQLite врэппер для использования под андроидом?
Подкиньте плиз...

Всего записей: 184 | Зарегистр. 17-12-2013 | Отправлено: 20:00 12-08-2015
protoror



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
silealio
пробовали?
http://synopse.info/forum/viewforum.php?id=2

Всего записей: 494 | Зарегистр. 23-11-2009 | Отправлено: 11:02 13-08-2015
asutp2

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые, работал ли кто-нибудь с проигрыванием видео через TMediaPlayer / TMediaPlayerControl в FMX?
 
Суть моего вопроса - мне нужно выдернуть картинку (т.е. кадр) из видеофайла. Сам файл открывается и через TMediaPlayerControl нормально проигрывается.  
Но если попробовать выполнить <TMediaPlayerControl>.MakeScreenshot, то возвращается полностью черный кадр. Если сделать  <TMediaPlayerControl>.PaintTo, то тоже возвращается полностью черный кадр. И такая проблема со всеми видеофайлами.
 
Может кто подскажет, каким образом можно получить кадр из TMediaPlayerControl?

Всего записей: 789 | Зарегистр. 22-10-2004 | Отправлено: 00:12 14-08-2015
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Может кто подскажет, каким образом можно получить кадр из TMediaPlayerControl?  

Именно из TMediaPlayerControl не получится снять скриншот, если не лезть во внутренности компонента(стандартных средств не предусмотрено, MakeScreenshot тянется ещё от TControl-a и предназначен для работы с окнами, а для воспроизведения видео используются overlay surfaces).

Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 08:17 14-08-2015 | Исправлено: NeoAnomaly, 08:19 14-08-2015
ZloyBrawler



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
asutp2
Как наводка.
Если есть возможность, то отключите overlay режим воспроизведения у компонента.
Возможно это он во всем виноват, но не факт что это можно отключить, а если отключться, то картинка видео будет рисоваться на поверхности самого компонента, а не минуя вывод в окно на аппаратном уровне дорисовываться в нужную область экрана (вроде подменяется некий цвет фона в окне на видео поток, возможно замечали когда принтскин плеера делаешь, вместо картинки черное окно в плеере, а если картинку вставить в пайнт и его разместить поверх плеера, то в паинте начинает крутиться видео).

Всего записей: 514 | Зарегистр. 19-10-2010 | Отправлено: 08:29 14-08-2015
SuPriTo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
asutp2
ZloyBrawler
Что-о вы усложняете все.
Вот пример Пример

Код:
 
PaintBox1.Canvas.CopyRect(PaintBox1.ClientRect, TPanelAccess(Panel1).Canvas, Panel1.ClientRect);
 

Где PaintBox1- куда копировать изображение
Panel1 - место, где отображается видео
Делал с TMediaPlayer

Всего записей: 1475 | Зарегистр. 24-03-2009 | Отправлено: 13:37 14-08-2015 | Исправлено: SuPriTo, 13:38 14-08-2015
asutp2

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SuPriTo, за пример для VCL - спасибо
 
Одна беда, мне нужно сделать тоже самое в FMX, а вот там такой трюк не получается. Там видимо действительно отрисовка видео происходит в ином контексте и FMX не имеет доступа к отрисованному изображению (скриншоты возвращают один черный фон).
Что интересно, при работе с захватом видео с видеокамеры (через TCaptureDeviceManager) скриншоты генерируются без проблем. Но натравить захват на файл, а не камеру, не получается.
 
Из всех предлагаемых решений нашел пока одно - программно делать скриншоты рабочего стола и уже оттуда вырезать скриншот моего видео (это работает). Но здесь нюанс - вдруг юзер переключится на другое приложение и тогда картинка видео опять будет невидна.

Всего записей: 789 | Зарегистр. 22-10-2004 | Отправлено: 14:21 14-08-2015
ZloyBrawler



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SuPriTo
Перечитайте еще ра,з что я написал и забудьте про делфи в этот момент.
 
Вы рядовой юзер. Смотрите фильм в видео плеере, плеер выводит видео в overley. Вы на клаве тыкаете клавищу принтскрин. Открываете MS Paint, вставляете из буфера картинку в редактор. Если в буфер попала картинка плеера с черным экраном, а не видеорядом, то идем дальше. Размещаете окно редактора над видеоплеером с полным или небольшим перекрытием. И хопа, у вас в окне MS Paint показывается видео насквозь так сказать.
А это батенька overley. Не все плееры сейчас используют его, но TMediaPlayerControl  вполне может быть и юзает. Если это так, то сколько не копируй область куда выводится выводится видео, там пустота, так как рисование видео идет не на этой поверхности, а аппаратно за кадром.

Всего записей: 514 | Зарегистр. 19-10-2010 | Отправлено: 14:27 14-08-2015
SuPriTo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
asutp2
FMX есть bitmap - мне с ними надо разбираться, поэтому не получится у меня сделать.
Но думаю, если разобраться с копированием нужного bitmap, то все получится.

Всего записей: 1475 | Зарегистр. 24-03-2009 | Отправлено: 15:27 14-08-2015 | Исправлено: SuPriTo, 15:27 14-08-2015
asutp2

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что самое прикольное, в FMX уже есть готовое средство копирования скриншота, оно кроссплатформенное и работает не только в виндах, но и на маке, и на андроиде.  
 
Проблему в виндах можно решить отключением ускорения DirectDraw - тогда отрисовка идет через GDI и скриншоты у TMediaPlayerControl  получаются правильные. Но тут опять нюанс - программно в своей программе отключить пока не знаю как, а если отключать через dxdiag, тогда отключается у всех приложений, что тоже не есть гуд))
 
 

Всего записей: 789 | Зарегистр. 22-10-2004 | Отправлено: 16:01 14-08-2015
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
asutp2 уж лучше тогда залезть во внутренности компонента и подключить в цепочку фильтров свои для захвата изображения.  
 
Может есть что то на подобии таких флагов http://docwiki.embarcadero.com/Libraries/XE8/en/FMX.Types.GlobalUseDirect2D для directshow (хотя это и мало вероятно)

Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 16:57 14-08-2015 | Исправлено: NeoAnomaly, 17:04 14-08-2015
SuPriTo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
asutp2
Задайте свой вопрос _http://fire-monkey.ru/

Всего записей: 1475 | Зарегистр. 24-03-2009 | Отправлено: 17:52 14-08-2015
stanzdor



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
так понимаю у меня проблема в том же русле:
нужно на каждом кадре видеопотока (камера\файл) отрисовывать своё изображение.
на камере ещё что-то можно, но вот с видео файлом вообще тяжко.
одного кросплатформенного решения может и вовсе нет.
пока что под винду делаю отдельный модуль через директ как давно знаю,  
а вот для андроида может кто реализовывал рендеринг для видеофайлов?
так как вообще опыта нет тут..

Всего записей: 593 | Зарегистр. 12-04-2004 | Отправлено: 20:31 14-08-2015
Sulphide

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
так понимаю у меня проблема в том же русле:  
нужно на каждом кадре видеопотока (камера\файл) отрисовывать своё изображение.  
на камере ещё что-то можно, но вот с видео файлом вообще тяжко.  
одного кросплатформенного решения может и вовсе нет.  
пока что под винду делаю отдельный модуль через директ как давно знаю,  
а вот для андроида может кто реализовывал рендеринг для видеофайлов?  
так как вообще опыта нет тут..
 

С этим вообще геморрой тот еще... Если нужно кроссплатформенное решение, то надо смотреть в сторону ffmpeg, НО аппаратный декодер для каждой платформы должен будет иметь свою реализацию и ковырять придется уже сам ffmpeg. Можно оставить софтовый декодер получать YUV кадр, не конвертированный в RGB (если конвертировать, то будет дикая просадка по процессору) и рендерить этот кадр шейдерами. Шейдеры впринципе все можно найти в инете, но надо вникнуть в суть как устроены YUV форматы.
если кадр необходимо еще хоть как-то обрабатывать искажать или преобразовывать то
(если для винды) о есть несколько путей:
1) софтовый декодер + аппаратный рендер (кадр из памяти перекидывать в текстуру в видеопамять и работать дальше уже с ним, перекидывание занимает время, терпимо, больше жрет декодер все равно), рендерить шейдерами.
2) nvcuvid декодер (только для карт nvidia 2-3 последних поколений), кадр декодируется целиком кудой во vram и дальше работа идет с ним именно во vram, ничего никуда кидать не надо. по времени отлично. Есть значительные ограничения.
3) для винды DXVA2-copyback режим (смотреть в lav-filters и lav-ffmpeg. Кадр декодируется аппаратным декодером видеокарты на DX поверхность, далее используется opengl interop расширение для переброски из DX в OpenGL текстуру.
 
Впринципе первый пункт работает для всех платформ.
 
зы я еще раз повторю - это все если надо производить над каждым кадром какие-то изменения. Если просто показать, то думаю тут полегче все, но опять же реализация под каждую платформу будет своя. С битмапами даже не думайте работать, не хватит процессора.
зыы еще забыл сказать что FMX очень плохо дружит с GL, не смотря на то что хедеры OpenGL.pas и OpenGLext.pas вылизаны до блеска, например нельзя выводить контекст GL в TPanel как в vcl, напрмер, т.к. HWND есть только у FMX окна, но не его компонентов. Как с DX - не знаю, скорее всего тоже плохо.
зыы ну и еще раз повторюсь, я не понимаю для чего и для кого писалась FMX... я еще понимаю если бы она на всех платформах использовала GL с низкоуровневым доступом. А так это заранее ущербная штука, нужная лишь для того чтобы выводить контролы. Все сейчас стремятся ближе к железу а эмбаркадеро, наоборот как можно дальше от него и добавляя новые тормоза, при этом начисто отрубая все плюсы конкретной платформы, что GL, что DX...

Всего записей: 277 | Зарегистр. 20-03-2008 | Отправлено: 21:06 14-08-2015 | Исправлено: Sulphide, 21:49 14-08-2015
asutp2

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sulphide, как я с тобой согласен
Кстати на ffmpeg я тоже набрел, теоретически этой библиотекой и нужно пользоваться в FMX, но не хватает $999 для его покупки

Всего записей: 789 | Зарегистр. 22-10-2004 | Отправлено: 00:09 15-08-2015
stanzdor



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
бля, как всё сложно..
я с первой FMX ждал это.
как в тележурнале про орешек, который нам поможет расколоть эмбра..
ебал я в рот эту их кросплатформенность..

Всего записей: 593 | Зарегистр. 12-04-2004 | Отправлено: 04:12 15-08-2015
Sulphide

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Кстати на ffmpeg я тоже набрел, теоретически этой библиотекой и нужно пользоваться в FMX, но не хватает $999 для его покупки  

Ну ffmpeg-то сам по себе бесплатен, конечно, а вот (на сколько понял китайский) delphi ffmpeg vcl components - у него да касарь стоят исходники... при должном "подходе" с ним можно вполне работать под маком и виндой. Есть еще один компонент, не помню уж как называется, там в триалке какие-то дикие утечки сделаны, тоесть там триалку-то не особо поиспользуешь, даже "вылеченную"... Впринципе на хабре были статьие как самому пилить проигрыватель под dllки ffmpeg, заголовочные файлы бесплатно можно скачать с того же delphi ffmpeg vcl...  
 
Добавлено:

Цитата:
ебал я в рот эту их кросплатформенность..  

вся кроссплатформенность у них сводится к тому, чтобы под разными платформами выводить 3d кнопочки с различными "красивыми" анимациями и различные tlistview... на более серьезных вещах вся кроссплатформенность заканчивается и fmx начинает вставлять палки в колеса.. а попросту мешать.

Всего записей: 277 | Зарегистр. 20-03-2008 | Отправлено: 05:56 15-08-2015
G787



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Новость Embarcadero объявила о покупке Raize Components
 
Теперь наконец-то появятся новые контролы вместо унылых старых ... ну и что-то там ещё наверное ...

Всего записей: 1035 | Зарегистр. 04-12-2005 | Отправлено: 16:25 15-08-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Embarcadero RAD Studio


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru