Запись видео исходного (то, которое с борта приходит) давно уже более-менее работает, только вот видеоредакторы его кушать не хотят, приходится прогонять софтинкой mkvmerge. В идеале конеш надо бы сделать чтоб сразу нормально писался, но пока не до этого.
С появлением HUD (оверлей с нарисованной телеметрией) встал вопрос - как записывать видео со всеми наложенными картинками. Сначала я думал писать видео как обычно, но при старте записи фиксировать таймстамп. И телеметрию писать в файлик с временными метками. Потом всё это дело прогонять в отдельной софтинке, которая будет совмещать родными методами гстримера видео и картинки по временнЫм меткам (синхронизация), результат кодировать в H264 и записывать всё в видеофайлик. Но это потребует множества телодвижений от юзера, что не очень желательно. Так что этот вариант оставляю на потом, пока пробую сделать более-менее на лету и малой кровью (не шибко напрягая проц компа).
Первое что на ум пришло - грабить картинку с экрана по координатам и размерам окна плеера. Это и было реализовано. Но для лучшего распараллеливания грабить будет отдельная мелкая софтинка, которая будет идти в комплекте с плеером.
Собссно, софтинка уже написана, с работой справляется отлично. Проц грузит, конечно, но раза в три меньше чем плеер, так что некритично. Запускается автоматически при старте плеера, но окошко не показывает, вызывается из менюшки плеера (ну или из виндовой панели задач).
Грабит окно плеера, кодирует полученное видео в H264 и, в зависимости от настроек, записывает в файл (пока только .FLV) или стримит по RTMP на медиасервер (или и то и другое одновременно, но проц тогда сильнее грузится).
Запись можно запускать из плеера, как обычно (кнопочка записи или нажатием клавиши Enter на клавиатуре). При этом будут одновременно писаться и исходный видеопоток, и окно плеера. Надо будет ещё добавить настройку в плеере, чтоб только либо одно либо другое писалось, но это уж в следующей версии.
Сумбурно (только проснулся), но основное вроде изложил.
На видео как раз фигурирует плеер, развёрнутый на полный экран (1920x1080)
2 Гость: Может не показывать в винXP, нужна винда 7 и выше. В x86 пашет норм, проверено не раз. Возможно, видюха не поддерживает D3D, или просто поток видео не проходит (отрубай файрвол или дай разрешения приложению на входящий UDP трафик). В виртуалке (VirtualBox) тож видео не покажет ибо там видеодрайвер не пашет нормально с D3D.
Кстати, эт я забыл определение возможности отображения видео в приложение добавить, чтоб сразу было понятно - видюха не поддерживает или видео просто не приходит. В следующей версии постараюсь.
Винда семерка. Сначала при запуске вылетал с ошибкой рекордер. Но потом я его победил и он не вылетает. А вот видео никак. Рядом на ноут с 64 бита идет без проблем а на 32 битах синий экран Похоже что он пытается запустится но не может video active changed to False video active changed to True это выдержка из отладочной консоли
Так, проверил на 32-битной. При первом запуске рекордер убился (нет проверки на существование дефолтного каталога для записи), а плеер всё норм, пашет. Повторный и последующие запуски рекордера прошли успешно (плеер каталог создал так что причина проблемы пропала). Хороший глюк рекордера, пофиксю, спасибо за наводку.
Предыдущие версии пашут все отлично. И еще одно наблюдение. Когда сразу ставишь первый раз прогу, и потом запускаешь, то если задать порт для видео вручную то видео включается, но после перезапуска, больше ничего не работает. Хоть меняй разрешение хоть порт в настройках
Цитата: Когда сразу ставишь первый раз прогу, и потом запускаешь, то если задать порт для видео вручную то видео включается, но после перезапуска, больше ничего не работает. Хоть меняй разрешение хоть порт в настройках
А вот это у меня не подтверждается - меняю и так и сяк, перезапускаю - пашет норм. А у тебя случайно на борту не включены параметры initialhost и videoport? Если initialhost включён то видеопоток будет при старте рцборды слаться на initialhost:videoport, независимо от того откуда плеер подключён.
2 Гость: Не должно быть настроек особых, они между собой на лету договариваются если рцборда и плеер с дефолтными настройками. А на той машине где не работает - ты случайно раньше гстример не устанавливал? Могли переменные окружения сохраниться. Плеер их хоть и переписывает при запуске, но бывают конфликты.
командой SET в командной строке посмотри, есть что-нить с префиксом GST. Плеер переписывает GST_PLUGIN_PATH и GST_PLUGIN_SYSTEM_PATH, но там ещё какие-то переменные могут быть которые я всё забываю добавить в переопределение.
Нифига не пойму логики происходящего. Пока рылся в настройках вдруг заработало. Но потом отключился от борта а видео продолжает работать. После перезапуска проги опять ничего нет.
Нет ничего лишнего. Похоже это все таки связано с портом. Когда меняю на ноль, а потом заново устанавливаю 3000 то видео запускается. Но стартовать не хочет ни с нулем указаным ни с трехтысячным.
Когда указан конкретный порт - плеер начинает приём видео на него и отправляет на борт команду сменить порт трансляции на указанный (т.е. оверрайдит videoport который в рцборде указан). Если в плеере указан порт 0 - порт выделяется виндой динамически, плеер начинает приём на него и опять же, отправляет на борту команду смены порта трансляции. Сделано так для того чтоб одновременно можно было несколько плееров запустить, не парясь с указанием портов. Поставил 0 и само всё должно работать. Ещё ни разу косяков с этим не было, так что странно. А файрвол выключен? Виндовый штатный или сторонний какой-нить в антивирусе. Они входящий UDP трафик любят рубить. Я в плеере делал добавление порта в исключения, но пока особо не тестил. Попробуй вырубить файрволы если включены, особенно штатный виндовый.
И еще что я нашел из багов, это смещенная запись видео пишет не весь экран https://www.dropbox.com/s/rlauit2kpqe8yhq/Скриншот%202015-04-18%2001.54.13.png?dl=0
Вот тут обе записи и оригинал.
И сразу не запускается запись пока не укажешь размеры видео, а ведь там стоит авто, значит размер должно брать с виртурилки походу, а он просит выбрать. Хотя это может быть так и должно быть....
Гость Пятница, 17 Апреля, 2015 20:21 цитировать ссылка на коммент
Gol Пятница, 17 Апреля, 2015 21:02 цитировать ссылка на коммент
Может не показывать в вин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 цитировать ссылка на коммент
Фигасе. А прошлые версии тоже не пашут? Они вот тут сложены
Gol Пятница, 17 Апреля, 2015 22:55 цитировать ссылка на коммент
Гость Пятница, 17 Апреля, 2015 22:58 цитировать ссылка на коммент
Gol Пятница, 17 Апреля, 2015 22:59 цитировать ссылка на коммент
Gol Пятница, 17 Апреля, 2015 23:03 цитировать ссылка на коммент
А вот это у меня не подтверждается - меняю и так и сяк, перезапускаю - пашет норм. А у тебя случайно на борту не включены параметры initialhost и videoport? Если initialhost включён то видеопоток будет при старте рцборды слаться на initialhost:videoport, независимо от того откуда плеер подключён.
Гость Пятница, 17 Апреля, 2015 23:08 цитировать ссылка на коммент
Gol Пятница, 17 Апреля, 2015 23:09 цитировать ссылка на коммент
А, ну тогда всё норм. Хотя странно. Вот самая большая проблема - повторить глюк :-(
Гость Пятница, 17 Апреля, 2015 23:17 цитировать ссылка на коммент
Gol Пятница, 17 Апреля, 2015 23:19 цитировать ссылка на коммент
Хм. Т.е. не работает, но офигительно... Ништяг, чо :-D
Гость Пятница, 17 Апреля, 2015 23:26 цитировать ссылка на коммент
Gol Пятница, 17 Апреля, 2015 23:44 цитировать ссылка на коммент
Не должно быть настроек особых, они между собой на лету договариваются если рцборда и плеер с дефолтными настройками. А на той машине где не работает - ты случайно раньше гстример не устанавливал? Могли переменные окружения сохраниться. Плеер их хоть и переписывает при запуске, но бывают конфликты.
Гость Пятница, 17 Апреля, 2015 23:46 цитировать ссылка на коммент
Gol Пятница, 17 Апреля, 2015 23:49 цитировать ссылка на коммент
Гость Суббота, 18 Апреля, 2015 00:08 цитировать ссылка на коммент
Гость Суббота, 18 Апреля, 2015 00:24 цитировать ссылка на коммент
Гость Суббота, 18 Апреля, 2015 00:25 цитировать ссылка на коммент
Gol Суббота, 18 Апреля, 2015 00:26 цитировать ссылка на коммент
Мож глюкануло и процесс плеера остался висеть? В диспетчере задач Virt2real Player лишний не фигурирует?
Гость Суббота, 18 Апреля, 2015 00:37 цитировать ссылка на коммент
Gol Суббота, 18 Апреля, 2015 00:41 цитировать ссылка на коммент
Гость Суббота, 18 Апреля, 2015 00:45 цитировать ссылка на коммент
Гость Суббота, 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 цитировать ссылка на коммент
Пока не выкладывал