Сравните видео и изображение (процент различий)

справка гарантирует, что файловая система находится в согласованном состоянии после небезопасного завершения работы

Первая знаменитая вещь состоит в том, что XFS, сборщик и большинство конфигураций расширения только реализуют журналирование метаданных, которое является всем о предотвращении fsck. Журнал не всегда воспроизводится на запуске - он может быть отброшен, если это неполно.

Существуют системы, которые поддерживают полное журналирование данных - но на практике уровень гарантии, они передают просто журналированию метаданных, является очень маленьким в сценариях реального мира.

Так 'непоследовательное состояние' и проблемы, решенные fsck, несоответствия между метаданными и самими файлами. Для предотвращения этого ОС выписывает предложенные изменения метаданных в журнале, затем пишет фактические данные в диск, затем применяет изменения метаданных, которые копируются в журнале в диск. Единственная выгода с этим - то, что дисковый контроллер буферизует и потенциально переупорядочит запросы. Для предотвращения этого большинство файловых систем журналирования реализует барьеры: они разделяют каждую операцию и ожидают диска, чтобы подтвердить, что это завершило операцию. Но много современных дисков на самом деле подтверждают завершение записей, прежде чем данные будут фиксироваться. Следовательно, вещи могут стать грязными.

fsck, все еще необходимый после небезопасного завершения работы и почему

Большинство файловых систем поддерживает количество монтирования - однажды это количество, достигнут, полный fsck будет инициирован при следующей попытке смонтировать диск. Так как причиной являются те дисковые данные, может быть поврежден, даже когда это явно не пишется в, даже без ошибок в программном обеспечении. комментарий psusi выше является неправильным.

2
18.11.2013, 12:20
1 ответ

движение

Вы не говорите, какое приложение Вы пытаетесь сделать с этой информацией, но, учитывая Вы имеете дело с камерой видеонаблюдения, я предложил бы смотреть на пакет движения.

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

Пример

ss #1   ss #2

avconv

Я также нашел это сообщение в блоге, которое обсуждает функцию, которая могла бы оказаться полезной в решении Вашей проблемы. Статья назвала: обнаружение изменения Сцены с ffmpeg (avconv) для извлечения значимых миниатюр.

выборка

Хорошие новости теперь - то, что мы можем использовать автоматизированные инструменты, чтобы сделать просто это. Ffmpeg (avconv) имеет весь материал, мы должны в его libavfilter библиотеке извлечь неподвижные изображения из видео не каждый x секунды, но каждый раз, когда видеоизображение значительно изменяет (что более или менее равняется изменению сцены). Это волшебство обычно известно как обнаружение изменения сцены.

Один подход должен позволить видеокодеку сделать тяжелую работу. Большинство кодеков использует идентификационный метод “ключевого кадра”, который означает, что “этот кадр является новой сценой” (I-кадр), и последующие изображения изменяются незначительно от того “основного кадра” и таким образом, кодек может сохранить различие только (B-кадры) вместо полных кадров. Теперь, в избранном фильтре ffmpeg Stefano Sabatini проходит видео и инициировал сохранение соответствующего кадра только, когда это встречается с I-кадром / ключевой кадр (вероятно, начало новой сцены)

    $ ffmpeg -vf “select=’eq(pict_type,I)’” -i somevideo.mp4 \
            -vsync 0 -f image2 /tmp/thumbnails-%02d.jpg

Этот подход работает, но не прекрасно. Это, почему Clément Boesch добавил сцену, подфильтр обнаружения сцены для выбора. Если Ваша сборка ffmpeg имеет этот код, можно назвать его как это:

    $ ffmpeg -vf “-vf select=’gt(scene\,0.9)’” -i somevideo.mp4 \
            -vsync 0 -f image2 /tmp/thumbnails-%02d.jpg

В случае, если Ваш ffmpeg/avconv жалуется на “Неопределенную константу или недостающий‘ (‘ в 'сцене'”, у Вас, вероятно, нет кода обнаружения сцены в Вашей компиляции libavfilter/vf_select.c.

Заметка на полях:

Если ffmpeg/avconv жалуется на “” отсутствующий‘)’, или слишком много args в …”, Вы, вероятно, использовали примеры из документов, с завершенной запятой, никакие окружающие кавычки и т.д. Удостоверьтесь, что Вы включаете целый “filtergraph” в кавычки, как - VF, “” где имеет наш “выбор = …” материал, включая одинарные кавычки.

1
27.01.2020, 22:22
  • 1
    Спасибо за Ваш ответ, sim. Я видел, что статья :-) I не использовала его, потому что я понял, что это использует ключевые кадры в качестве маркера изменения сцены, и я думал, что это не будет работать, но возможно стоит для хранения расследования... Спасибо. Я попробую Ваши предложения, и я сообщу, что –  BorrajaX 18.11.2013, 17:00

Теги

Похожие вопросы