Заметка юзера virt2real

Запись видео с телеметрией

видео virt2real Виртурилка железки

Запись видео исходного (то, которое с борта приходит) давно уже более-менее работает, только вот видеоредакторы его кушать не хотят, приходится прогонять софтинкой mkvmerge. В идеале конеш надо бы сделать чтоб сразу нормально писался, но пока не до этого.

С появлением HUD (оверлей с нарисованной телеметрией) встал вопрос - как записывать видео со всеми наложенными картинками. Сначала я думал писать видео как обычно, но при старте записи фиксировать таймстамп. И телеметрию писать в файлик с временными метками. Потом всё это дело прогонять в отдельной софтинке, которая будет совмещать родными методами гстримера видео и картинки по временнЫм меткам (синхронизация), результат кодировать в H264 и записывать всё в видеофайлик. Но это потребует множества телодвижений от юзера, что не очень желательно. Так что этот вариант оставляю на потом, пока пробую сделать более-менее на лету и малой кровью (не шибко напрягая проц компа).

Первое что на ум пришло - грабить картинку с экрана по координатам и размерам окна плеера. Это и было реализовано. Но для лучшего распараллеливания грабить будет отдельная мелкая софтинка, которая будет идти в комплекте с плеером.

Собссно, софтинка уже написана, с работой справляется отлично. Проц грузит, конечно, но раза в три меньше чем плеер, так что некритично. Запускается автоматически при старте плеера, но окошко не показывает, вызывается из менюшки плеера (ну или из виндовой панели задач).

Грабит окно плеера, кодирует полученное видео в H264 и, в зависимости от настроек, записывает в файл (пока только .FLV) или стримит по RTMP на медиасервер (или и то и другое одновременно, но проц тогда сильнее грузится).

Запись можно запускать из плеера, как обычно (кнопочка записи или нажатием клавиши Enter на клавиатуре). При этом будут одновременно писаться и исходный видеопоток, и окно плеера. Надо будет ещё добавить настройку в плеере, чтоб только либо одно либо другое писалось, но это уж в следующей версии.

Сумбурно (только проснулся), но основное вроде изложил.

На видео как раз фигурирует плеер, развёрнутый на полный экран (1920x1080)



Версия плеера - 0.11.7 ссылка
virt2real      Пятница, 17 Апреля, 2015 13:49       27


Добавить комментарий
 

Гость Пятница, 17 Апреля, 2015 20:21 цитировать ссылка на коммент

В 32 битной винде видео не показывает на экран

 

 

Gol Пятница, 17 Апреля, 2015 21:02 цитировать ссылка на коммент

2 Гость:
Может не показывать в винXP, нужна винда 7 и выше. В x86 пашет норм, проверено не раз. Возможно, видюха не поддерживает D3D, или просто поток видео не проходит (отрубай файрвол или дай разрешения приложению на входящий UDP трафик). В виртуалке (VirtualBox) тож видео не покажет ибо там видеодрайвер не пашет нормально с D3D.

Кстати, эт я забыл определение возможности отображения видео в приложение добавить, чтоб сразу было понятно - видюха не поддерживает или видео просто не приходит. В следующей версии постараюсь.

 

 

Гость Пятница, 17 Апреля, 2015 22:01 цитировать ссылка на коммент

Винда семерка. Сначала при запуске вылетал с ошибкой рекордер.
Но потом я его победил и он не вылетает. А вот видео никак. Рядом на ноут с 64 бита идет без проблем а на 32 битах синий экран
Похоже что он пытается запустится но не может
video active changed to False
video active changed to True
это выдержка из отладочной консоли

 

 

Gol Пятница, 17 Апреля, 2015 22:12 цитировать ссылка на коммент

2 Гость:
Фигасе. А прошлые версии тоже не пашут? Они вот тут сложены http://files.virt2real.ru/soft/v2rplayer/

 

 

Gol Пятница, 17 Апреля, 2015 22:55 цитировать ссылка на коммент

Так, проверил на 32-битной. При первом запуске рекордер убился (нет проверки на существование дефолтного каталога для записи), а плеер всё норм, пашет. Повторный и последующие запуски рекордера прошли успешно (плеер каталог создал так что причина проблемы пропала). Хороший глюк рекордера, пофиксю, спасибо за наводку.

 

 

Гость Пятница, 17 Апреля, 2015 22:58 цитировать ссылка на коммент

Предыдущие версии пашут все отлично. И еще одно наблюдение. Когда сразу ставишь первый раз прогу, и потом запускаешь, то если задать порт для видео вручную то видео включается, но после перезапуска, больше ничего не работает. Хоть меняй разрешение хоть порт в настройках

 

 

Gol Пятница, 17 Апреля, 2015 22:59 цитировать ссылка на коммент

Да, рановато я рекордер выложил, подглючивает на одной машине. На двух разных проверял - всё норм было, а на третьей дурит.

 

 

Gol Пятница, 17 Апреля, 2015 23:03 цитировать ссылка на коммент

Цитата: Когда сразу ставишь первый раз прогу, и потом запускаешь, то если задать порт для видео вручную то видео включается, но после перезапуска, больше ничего не работает. Хоть меняй разрешение хоть порт в настройках

А вот это у меня не подтверждается - меняю и так и сяк, перезапускаю - пашет норм. А у тебя случайно на борту не включены параметры initialhost и videoport? Если initialhost включён то видеопоток будет при старте рцборды слаться на initialhost:videoport, независимо от того откуда плеер подключён.

 

 

Гость Пятница, 17 Апреля, 2015 23:08 цитировать ссылка на коммент

videoport указан а вот initialhost указан но задокументирован

 

 

Gol Пятница, 17 Апреля, 2015 23:09 цитировать ссылка на коммент

2 Гость:
А, ну тогда всё норм. Хотя странно. Вот самая большая проблема - повторить глюк :-(

 

 

Гость Пятница, 17 Апреля, 2015 23:17 цитировать ссылка на коммент

А вообще офигительно все :)

 

 

Gol Пятница, 17 Апреля, 2015 23:19 цитировать ссылка на коммент

2 Гость:
Хм. Т.е. не работает, но офигительно... Ништяг, чо :-D

 

 

Гость Пятница, 17 Апреля, 2015 23:26 цитировать ссылка на коммент

На другом то работает А тут походу нестыковка настроек борта и борды. Буду искать где и че.

 

 

Gol Пятница, 17 Апреля, 2015 23:44 цитировать ссылка на коммент

2 Гость:
Не должно быть настроек особых, они между собой на лету договариваются если рцборда и плеер с дефолтными настройками. А на той машине где не работает - ты случайно раньше гстример не устанавливал? Могли переменные окружения сохраниться. Плеер их хоть и переписывает при запуске, но бывают конфликты.

 

 

Гость Пятница, 17 Апреля, 2015 23:46 цитировать ссылка на коммент

стоит гстример, сейчас перезагружу и на чистую попробую.

 

 

Gol Пятница, 17 Апреля, 2015 23:49 цитировать ссылка на коммент

командой SET в командной строке посмотри, есть что-нить с префиксом GST. Плеер переписывает GST_PLUGIN_PATH и GST_PLUGIN_SYSTEM_PATH, но там ещё какие-то переменные могут быть которые я всё забываю добавить в переопределение.

 

 

Гость Суббота, 18 Апреля, 2015 00:08 цитировать ссылка на коммент

GST_PLUGIN_PATH и GST_PLUGIN_SYSTEM_PATH таких вообще нет. Только путь root где установлен на диске и все.

 

 

Гость Суббота, 18 Апреля, 2015 00:24 цитировать ссылка на коммент

Нифига не пойму логики происходящего. Пока рылся в настройках вдруг заработало. Но потом отключился от борта а видео продолжает работать. После перезапуска проги опять ничего нет.

 

 

Гость Суббота, 18 Апреля, 2015 00:25 цитировать ссылка на коммент

А вот скрин забыл https://www.dropbox.com/s/3nq9cfd1tb55osz/%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%202015-04-18%2000.17.51.png?dl=0

 

 

Gol Суббота, 18 Апреля, 2015 00:26 цитировать ссылка на коммент

2 Гость:
Мож глюкануло и процесс плеера остался висеть? В диспетчере задач Virt2real Player лишний не фигурирует?

 

 

Гость Суббота, 18 Апреля, 2015 00:37 цитировать ссылка на коммент

Нет ничего лишнего. Похоже это все таки связано с портом. Когда меняю на ноль, а потом заново устанавливаю 3000 то видео запускается. Но стартовать не хочет ни с нулем указаным ни с трехтысячным.

 

 

Gol Суббота, 18 Апреля, 2015 00:41 цитировать ссылка на коммент

Когда указан конкретный порт - плеер начинает приём видео на него и отправляет на борт команду сменить порт трансляции на указанный (т.е. оверрайдит videoport который в рцборде указан). Если в плеере указан порт 0 - порт выделяется виндой динамически, плеер начинает приём на него и опять же, отправляет на борту команду смены порта трансляции. Сделано так для того чтоб одновременно можно было несколько плееров запустить, не парясь с указанием портов. Поставил 0 и само всё должно работать. Ещё ни разу косяков с этим не было, так что странно. А файрвол выключен? Виндовый штатный или сторонний какой-нить в антивирусе. Они входящий UDP трафик любят рубить. Я в плеере делал добавление порта в исключения, но пока особо не тестил. Попробуй вырубить файрволы если включены, особенно штатный виндовый.

 

 

Гость Суббота, 18 Апреля, 2015 00:45 цитировать ссылка на коммент

Nod32 только стоит. Но ведь раньше работало.попробую вырубить

 

 

Гость Суббота, 18 Апреля, 2015 01:04 цитировать ссылка на коммент

Нет вырубил все и антивирус и виндовый бранд, все тоже. только обновление порта и размера видео врубает. Причем когда все совпадет, не раньше.

 

 

Гость Суббота, 18 Апреля, 2015 01:58 цитировать ссылка на коммент

И еще что я нашел из багов,
это смещенная запись видео пишет не весь экран https://www.dropbox.com/s/rlauit2kpqe8yhq/Скриншот%202015-04-18%2001.54.13.png?dl=0

Вот тут обе записи и оригинал.

И сразу не запускается запись пока не укажешь размеры видео, а ведь там стоит авто, значит размер должно брать с виртурилки походу, а он просит выбрать. Хотя это может быть так и должно быть....

 

 

Гость Суббота, 25 Апреля, 2015 22:41 цитировать ссылка на коммент

А поправленную версию где скачать?

 

 

Gol Воскресенье, 26 Апреля, 2015 12:23 цитировать ссылка на коммент

2 Гость:
Пока не выкладывал

 

Сколько букв в слове Гол?

Вы вошли как Гость      

Сейчас на сайте: 0
и 15 гостей






Страница сгенерирована за 0.0033180713653564 мкс

cached