FFMPEG

Обсуждение вопросов, связанных с обработкой аудио и видео информации
Schiblev
beginner
beginner
Сообщения: 12
Зарегистрирован: 23 янв 2025, 15:12
Версия LabVIEW: 21
Благодарил (а): 4 раза
Контактная информация:

Re: FFMPEG

Сообщение Schiblev »

IvanLis писал(а): 27 янв 2025, 20:48
Schiblev писал(а): 27 янв 2025, 17:40 Параллельный цикл (WatchDog) я создавал, но отследить получение данных не получается в обоих случаях - цикл получения данных-то останавливается.
У меня нет камеры, да наверное не много людей на форуме, у кого она под руками.
У меня нет LV2021, я "старпер" и до сих пор работаю в LV2015 и пока не вижу крайней необходимости обновляться. В принципе у меня система Win7 32bit.

По этому могу только рекомендовать, как бы делал я.
1. Запускаем окно (процесс) main. В нем создаем цикл обработки (событийно-управляемый автомат). Регистрируем для обработки UserEvent: IsStop (событие остановки процесса CamReader) и IsFrame (событие получения кадра от CamReader). Туда добавляем TimeOut Event (выполняет роль WatchDog) например на 1000ms.
2. main запускает процесс CamReader (реентерабельный), который осуществляет все взаимодействие с камерой. Он к ней подключается и в цикле читает информацию, если пришел кадр, то отправляет в main (User Event - IsFrame). Если ошибка/исключение/вылет из цикла и т.д. отправляет в main (User Event - IsStop).
3. main постоянно контролирует, запущен ли процесс CamReader и если нет ("упал" - получено событие IsStop), то запускает другой экземпляр, а старый по возможности "убивает".
4. Если в течении 1сек от процесса CamReader нет данных, то считаем его "упавшим", убиваем и запускаем новый.
5. При остановке main, "убиваем" CamReader.

Т.е. у Вас фактически один процесс CamReader всегда работает и пытается подключиться к камере. Если подключился, то получает данные и перекидывает в main. Если подключиться не смог или данных нет, то процесс убивается и запускается новый, у которого есть 1 сек, что бы наладить связь с камерой. Если у него не получилось, то следующий.

Как то так .....

Задачу решил.
Добавил WatchDog, правда контролирует он изменение значение переменной из цикла захвата видео.
Ну и потом KILL процесса и восстановление соединения.
Камеры у меня подключены две, пришлось по каждой такое проделать.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5561
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 32 раза
Поблагодарили: 108 раз

Re: FFMPEG

Сообщение IvanLis »

Schiblev писал(а): 29 янв 2025, 18:39 Камеры у меня подключены две, пришлось по каждой такое проделать.
Правильно, каждой камере свой процесс.
Иначе один при отключении камеры, заблокирует другой.
Schiblev
beginner
beginner
Сообщения: 12
Зарегистрирован: 23 янв 2025, 15:12
Версия LabVIEW: 21
Благодарил (а): 4 раза
Контактная информация:

Re: FFMPEG

Сообщение Schiblev »

IvanLis писал(а): 29 янв 2025, 20:20
Schiblev писал(а): 29 янв 2025, 18:39 Камеры у меня подключены две, пришлось по каждой такое проделать.
Правильно, каждой камере свой процесс.
Иначе один при отключении камеры, заблокирует другой.
Очень интересно то, что процесс FFMPEG_2 занимает на треть больше памяти чем процесс FFMPEG_1.

Теперь еще такой вопрос.
Приложение-то App.exe я создаю и оно вполне себе работает на компьютере, на котором установлен LabVIEW.
А что необходимо, чтобы приложение работало на компьютере, на котором не установлена среда разработки ?
Рантайм скачать National Instrument скачать не дает.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1407
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 76 раз
Контактная информация:

Re: FFMPEG

Сообщение AndreyDmitriev »

Schiblev писал(а): 30 янв 2025, 09:07 Теперь еще такой вопрос.
Приложение-то App.exe я создаю и оно вполне себе работает на компьютере, на котором установлен LabVIEW.
А что необходимо, чтобы приложение работало на компьютере, на котором не установлена среда разработки ?
Рантайм скачать National Instrument скачать не дает.
Так там же можно и инсталляшку создать, вот скачивать рантайм и не потребуется. Если какая-то специфическая весия нужна, напишите, кто-нибудь скачает и поделится.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2259
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 33 раза
Поблагодарили: 32 раза

Re: FFMPEG

Сообщение Borjomy_1 »

Раз builder есть, необходимо сделать инсталляционный пакет. В него рантайм включается по умолчанию.
Schiblev
beginner
beginner
Сообщения: 12
Зарегистрирован: 23 янв 2025, 15:12
Версия LabVIEW: 21
Благодарил (а): 4 раза
Контактная информация:

Re: FFMPEG

Сообщение Schiblev »

Borjomy_1 писал(а): 30 янв 2025, 09:20 Раз builder есть, необходимо сделать инсталляционный пакет. В него рантайм включается по умолчанию.
В LabVIEW 7 у меня так и было.


А сейчас:
Application.exe
Application.ini
Application.aliases

Это все, что создает builder.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1407
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 76 раз
Контактная информация:

Re: FFMPEG

Сообщение AndreyDmitriev »

Schiblev писал(а): 30 янв 2025, 10:01
Borjomy_1 писал(а): 30 янв 2025, 09:20 Раз builder есть, необходимо сделать инсталляционный пакет. В него рантайм включается по умолчанию.
В LabVIEW 7 у меня так и было.


А сейчас:
Application.exe
Application.ini
Application.aliases

Это все, что создает builder.
Так вот же:

Изображение

И там

Изображение
Schiblev
beginner
beginner
Сообщения: 12
Зарегистрирован: 23 янв 2025, 15:12
Версия LabVIEW: 21
Благодарил (а): 4 раза
Контактная информация:

Re: FFMPEG

Сообщение Schiblev »

AndreyDmitriev писал(а): 30 янв 2025, 10:27
Schiblev писал(а): 30 янв 2025, 10:01
Borjomy_1 писал(а): 30 янв 2025, 09:20 Раз builder есть, необходимо сделать инсталляционный пакет. В него рантайм включается по умолчанию.
В LabVIEW 7 у меня так и было.


А сейчас:
Application.exe
Application.ini
Application.aliases

Это все, что создает builder.
Так вот же:


Изображение
Многое изменилось ))
Да, инсталлятор сделать получилось.
Однако, после его запуска ничего не инсталлируется.
Получается, что еще какие действия необходимо выполнить ?
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1407
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 76 раз
Контактная информация:

Re: FFMPEG

Сообщение AndreyDmitriev »

Schiblev писал(а): 30 янв 2025, 11:54 Да, инсталлятор сделать получилось.
Однако, после его запуска ничего не инсталлируется.
Получается, что еще какие действия необходимо выполнить ?
Ну там надо правильно и аккуратно всё настроить. Надо инсталлятору подоткнуть билд спецификацию для начала:
Изображение
Schiblev
beginner
beginner
Сообщения: 12
Зарегистрирован: 23 янв 2025, 15:12
Версия LabVIEW: 21
Благодарил (а): 4 раза
Контактная информация:

Re: FFMPEG

Сообщение Schiblev »

AndreyDmitriev писал(а): 30 янв 2025, 13:35
Schiblev писал(а): 30 янв 2025, 11:54 Да, инсталлятор сделать получилось.
Однако, после его запуска ничего не инсталлируется.
Получается, что еще какие действия необходимо выполнить ?
Ну там надо правильно и аккуратно всё настроить. Надо инсталлятору подоткнуть билд спецификацию для начала.
Дело сдвинулось.
Думаю, что дальше уже самостоятельно с деталями разберусь.
Спасибо, Андрей!
Ответить

Вернуться в «Работа с графикой и звуком»