Столкнулся с негуглимым препятствием.
Задача:
система видеорегистрации выдаёт avi с кодеком x264
Нужно эти записи обрабатывать в vision. Перекодировать пробовали, качество сильно падает, результат обработки соответствующий, так что этот вариант пока запасной и не желательный.
Записи длинные по времени (сутки), система выдаёт их автоматом кусками по 4Гб, можно опять же руками нарезать по полчаса, но это доп действие, которое сейчас используется как неизбежное зло.
Итак, проблема:
После установки кодека видяшка успешно открывается/читается функциями imaq avi2. но эта версия имеет нехороший баг: не читает кадры после 2Гб, это на форумах обсуждается. Там же предлагается официальное решение: использовать функции imaq avi (без "2"). Они типа медленнее, но без такой ошибки.
Делаю тест, и опять ошибка. Только уже на стадии открытия. т.е. avi2 файл открывает и читает, а avi его даже открыть отказывается.
На просторах нашёл один пост, в котором предлагается воспользоваться тулами CodecTweakTool, graphedit, FilterManager, по детально метод пока не осилил, а "авторемонт" кодеков не помог.
В других ветках обсуждают, что imaq плохо дружит именно с x264.
И собственно вопрос: если кто решил такую задачу (прочитать большой файл x264 в imaq LV15), поделитесь рецептом.
Вот тест, если кто не верит, что я в своём уме :)
Вот образец записи, если кто хочет поэкспериментировать.
http://www.mediafire.com/file/l31fq656n ... D.avi/file
LabVIEW 15 + x264 + большие файлы
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: LabVIEW 15 + x264 + большие файлы
А проблема не может быть в разрядности (32-х битная версия не может осилить подобные файлы)? Интерестно, есть ли 64-битная версия именно Vision модуля?
Также, судя по скрину Вы используете 2015 - может в последней версии этот функционал работает лучше? Ведь уже есть версия 2018, http://www.ni.com/download/vision-devel ... 1/7839/en/
Также, судя по скрину Вы используете 2015 - может в последней версии этот функционал работает лучше? Ведь уже есть версия 2018, http://www.ni.com/download/vision-devel ... 1/7839/en/
Мы делили апельсин - много наших полегло...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: LabVIEW 15 + x264 + большие файлы
Kosist, я проверил на 2018 64-bit c файлом, выложенным выше. Открывает, но при чтении кадра чёрное изображение и ошибка. Это со старыми AVI-инструментами. Кодеки все возможные стоят, периодически обновляются + несколько плееров.
У меня как-то была похожая ситуация, нужно было прочитать 2-гиговый файл. Новые инструменты не хотели некоторые кадры отдавать. Но старые сработали, правда, не помню, каким кодеком видео было закодировано. Не могу предложить простого решения. Из не совсем простых - например, проигрывать через VLC API, тема на этом форуме есть (+ этот тред может помочь).
У меня как-то была похожая ситуация, нужно было прочитать 2-гиговый файл. Новые инструменты не хотели некоторые кадры отдавать. Но старые сработали, правда, не помню, каким кодеком видео было закодировано. Не могу предложить простого решения. Из не совсем простых - например, проигрывать через VLC API, тема на этом форуме есть (+ этот тред может помочь).
Последний раз редактировалось dadreamer 23 апр 2019, 23:17, всего редактировалось 1 раз.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: LabVIEW 15 + x264 + большие файлы
кстати, есть еще вариант воспроизводить через ffmpeg. Во-первых требуется только один ffmpeg.exe (правда, должна быть версия, соответствующая разрядности ОС). Во-вторых - инструмент очень гибкий, не чета VLC. А результат можно уже подпихивать VISIO модулю.
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: LabVIEW 15 + x264 + большие файлы
не может :)Kosist писал(а):может в последней версии этот функционал работает лучше? Ведь уже есть версия 2018, http://www.ni.com/download/vision-devel ... 1/7839/en/
На NI-форуме всё ещё обсуждают, что "наверно NI скоро это починит"
не вариант, проверял. Задача не воспроизвести, а читать произвольные кадры. Но в таком режиме ffmpeg перечитывает все предыдущие кадры, так что при запросе сотого кадра я устану ждать.Borjomy_1 писал(а):кстати, есть еще вариант воспроизводить через ffmpeg. Во-первых требуется только один ffmpeg.exe (правда, должна быть версия, соответствующая разрядности ОС). Во-вторых - инструмент очень гибкий, не чета VLC. А результат можно уже подпихивать VISIO модулю.
Ну и до кучи, опять же с NI формума: поддержка x264 реализована не до конца, так что или кромсать файлы, или перекодировать другим кодеком.
Оба варианта "не устраивают", потому что это лишний шаг.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: LabVIEW 15 + x264 + большие файлы
Artem.spb, Фигасе! Читать произвольные кадры из-под x264, ну вы замахнулись.
Решение в лоб: ffmpeg -ом запись транслируется в набор кадров в формате bmp. Это элементарная команда и выполняется очень быстро (на уровне скорости чтения-записи файла). Png имеет меньший объем, но процессорного времени на его создания нужно на порядок больше. Вы можете указать формат имени файла. Таким образом у вас на каждый кадр есть bmp файл. А уж искать нужный по маске - это вопрос программирования начального уровня.
Из минусов - огромный объем раскадровки BMP. В принципе, можно сделать фоновое развертывание части файла, запуская ffmpeg с указанием нужного интервала кадров.
Решение в лоб: ffmpeg -ом запись транслируется в набор кадров в формате bmp. Это элементарная команда и выполняется очень быстро (на уровне скорости чтения-записи файла). Png имеет меньший объем, но процессорного времени на его создания нужно на порядок больше. Вы можете указать формат имени файла. Таким образом у вас на каждый кадр есть bmp файл. А уж искать нужный по маске - это вопрос программирования начального уровня.
Из минусов - огромный объем раскадровки BMP. В принципе, можно сделать фоновое развертывание части файла, запуская ffmpeg с указанием нужного интервала кадров.
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: LabVIEW 15 + x264 + большие файлы
читает же. До 2 гигов.Borjomy_1 писал(а):Artem.spb, Фигасе! Читать произвольные кадры из-под x264, ну вы замахнулись.
по моим прикидкам суточная запись потребует 5Тб.Решение в лоб: ffmpeg -ом запись транслируется в набор кадров в формате bmp.
Но вопрос исследую.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: LabVIEW 15 + x264 + большие файлы
"Быстрый и грязный" тест: Как проверить:
1. Установить VLC 32 или 64 бита в зависимости от разрядности ;
2. Открыть , выбрать файл .avi;
3. Запустить ;
4. Пощёлкать бегунок позиции воспроизведения.
Не без нюансов:
- по кадрам не получится: либо %, либо время;
- при переключении позиции два эвента, а то и три - обычное дело (1-й - нулевая позиция, 2-й и т.д. - текущая или около того);
- кириллицу (юникод) LibVLC не понимает, надо предварительно проверять путь до файла или кодировать русские символы в % (URL Encode);
- если захочется через паузу сделать (пауза - установка позиции - пуск), то будет работать коряво; причина не до конца мне понятна.
Очевидно, решение не идеальное. Скорее всего, тот же ffmpeg можно перекомпилить в виде библиотеки и подключить, будет намного лучше, но это работа не на один день...
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 7 Ответы
- 1061 Просмотры
-
Последнее сообщение Artem.spb
-
- 0 Ответы
- 1900 Просмотры
-
Последнее сообщение Anastasia
-
- 3 Ответы
- 2068 Просмотры
-
Последнее сообщение PozhiloyGoblin
-
- 0 Ответы
- 344 Просмотры
-
Последнее сообщение maxim_MA
-
- 23 Ответы
- 2416 Просмотры
-
Последнее сообщение dadreamer