Removing photo flashes from video

English

I use Sony Vegas Pro 11 for editing video. I like this NLE software in-spite of its glitches.

Recently it was required to remove photo flashes from my videos. I tried to find a good and easy way to complete this task, but I’ve only found one Flash Remover plugin.

I downloaded trial version of the plugin and tested it. Well, I wasn’t satisfied with the results.

First, the plugin simply duplicates the last good frame a few times. It’s OK when the photo flash occurred in one video frame only. In this case two equal frames in a row exist in resulting video. In case of two-frames flashes it will be three equal frames in a row that is very noticeable.

Second, after applying the plugin to a fragment/track you have to guess the correct threshold value. The ‘Normal’ value in my case can’t find all flashes.

Third, after applying the plugin, sometimes you will see the flashes on the preview anyway (in the final render all would be fine). As a result, you can’t be sure that all flashes are removed with chosen threshold value. You will need to re-render it just to check.

Finally, you have to pay $100 for the whole NewBlue Video Essentials plugin pack even if you need this plugin only.

As a result, I’ve tried to find a solution to remove photo flashes from my videos without additional plugins.

The simplest way to remove flashes – duplicate frames.

If in a single-frame flash frame 2 is damaged, you must duplicate frame 1 or frame 3 and put it just over frame 2. Easy peasy. On resulting video you will have sequence 1 1 3 (or 1 3 3). In case of two-frames flashes you have to duplicate frame 1 and frame 4 and put them over frames 2 and 3. On resulting video you’ll have sequence 1 1 4 4.

More advanced way to remove flashes – resample.

For a single-frame flashes copy frame 1 and frame 3 on a new video track and put them together. Frame 1 must be over source frame 1 and frame 3 must be over source frame 2. Make a selection with two these frames and press Ctrl+M (Render to New Track). Choose codec (I’m using lossless MagicYUV, UTVideo or Cineform encoders), filename and location for a new two-frames fragment and render it. Now press Ctrl key, take the right edge of the new video fragment and stretch two-frames fragment into three-frames fragment. Vegas will leave the first and the last frames untouched and will resample the second frame. Finally, the first frame of the fragment must be over the first source frame. Done.

For two-frames flashes it will be a bit more complicated. Create a new video track above and copy frame 1 just over frame 1. Copy frame 4 and put it over frame 2. Make a selection with these 2 frames and render it as a new fragment on a new video track (Ctrl+M). Now press Ctrl, take the right edge of the new video fragment and stretch two-frames fragment into five-frames fragment. Now cut the last frame of this five-frames fragment (release Ctrl key, take right edge of the fragment and move one frame to the left). Now move the fragment on its position – the first frame of the fragment must be over the first source frame. Done.

You can see the process in the following video:

I’ve prepared a zip-file (21 MB) with source video file, 3 resulting videos created by 3 methods described above and Vegas 11 project file with all related stuff. Enjoy.

P.S. I will be happy if somebody teach me how to improve/simplify the process.

Русский

Для редактирования видео я пользуюсь программой Sony Vegas.

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

Я скачал пробную версию этого плагина и испытал его в деле. Увы, мне не понравился результат.

Во первых, этот плагин просто дублирует последний хороший кадр несколько раз. Это нормально, если фотовспышкой засвечен только один кард на видео. В данном случае в результирующем видео оказывается два одинаковых идущих подряд кадра. Однако, в случае, если фотовспышкой было засвечено два кадра, в результирующем видео оказывается уже три идущих подряд одинаковых кадра, что на результирующем видео выглядит как freeze…

Во вторых, после применения этого плагина, необходимо угадать, какое значение подставить в поле threshold. Значение ‘Normal’ в моём случае убрало не все фотовспышки с видео.

В третьих, после применения плагина, фотовспышки иногда продолжают быть видны на preview. Как следствие, вы не можете быть уверены, что выбранное значение threshold корректно и фотовспышки будут действительно удалены на результирующем видео.

И наконец, этот плагин входит в набор NewBlue Video Essentials plugin pack, который стоит $100. Я считаю, что это не очень дёшево (за $80 можно приобрести монтажную программу начального уровня).

В общем я решил попробовать найти другой способ удаления вспышек с видео без использования дополнительных плагинов.

Простой способ удалить вспышку — пойти по стопам упомянутого плагина и сделать дубликаты кадров.

Если фотовспышкой был испорчен только один кадр (кадр 2 в последовательности 1 2 3), то достаточно скопировать кадр 1 или кадр 3 поверх кадра 2. Элементарно. На результирующем видео будет такая последовательность кадров: 1 1 3 (или 1 3 3). Если фотовспышка испортила два идущих подряд кадра, необходимо скопировать кадр 1 поверх кадра 2 и кадр 4 поверх кадра 3. В результирующем видео будет следующая последовательность кадров: 1 1 4 4.

Продвинутый способ удаления фотовспышки — resample.

Если фотовспышкой был испорчен только один кадр (кадр 2 в последовательности 1 2 3), нужно скопировать кадры 1 и 3 на новую дорожку выше исходной и поместить их рядом. Копия кадра 1 должна быть над кадром 1, а копия кадра 3 — над кадром 2. После этого нужно выделите эти два кадра и нажать Ctrl+M (Render to New Track). Затем надо выбрать кодек (я использую MagixYUV, UTVideo или Cineform), указать имя файла и отрендерить маленький двух-кадровый фрагмент. После этого нажимаете Ctrl, «хватаете» мышью правый край свежеотрендерённого видео-фрагмента и растягиваете его до трёх кадров. Vegas в этом случае сделает так, что первый кадр получившегося фрагмента будет идентичен первому исходному кадру, третий кадр фрагмента — третьему исходному кадру, а второй кадр будет сгенерирован на основании первого и третьего кадров. После этого нужно поместить первый кадр полученного фрагмента над первым исходным кадром, удалить дорожку с копиями кадров 1 и 3 и всё.

Если фотовспышка испортила два идущих подряд кадра, то процесс её удаления получается чуть более сложным. Нужно поместить копии кадров 1 и 4 на новую видео-дорожку выше исходной таким образом, чтобы копия кадра 1 была над исходным кадром 1, а копия кадра 4 была над кадром 2. После этого нужно выделить эти два кадра и нажать Ctrl+M (Render to New Track). Затем надо выбрать кодек, указать имя файла и отрендерить этот маленький двух-кадровый фрагмент. После этого нажимаете Ctrl, «хватаете» мышью правый край свежеотрендерённого видео-фрагмента и растягиваете его до пяти кадров. После этого отрезаете один кадр справа (отпускаете Ctrl, «хватаете мышью правую границу фрагмента и сдвиньте её влево на один кадр). Наконец, помещаете первый кадр получившегося фрагмента над первым кадром исходного фрагмента и всё готово.

Сам процесс вы можете посмотреть на подготовленном мной видео (увы, без звука):

Также я выложил zip-архив (21 МБ) с исходными видео, подготовленным проектом для Sony Vegas 11 и 3 результирующими видео сделанными с помощью трёх описанных тут способов. Можете сравнить результаты.

P.S. Я буду счастлив, если кто-нибудь подскажет более простой способ удаления фотовспышек с видео.

7 thoughts on “Removing photo flashes from video

  1. Yeah, somebody have hacked my brain, so I do too much video-editing right now 🙂

  2. I was already told that this plugin can help to copy next or previous frame. However, it costs $100. It is too much, imho (much more complicated NeatVideo plugin costs $100 as well). Also, it can only help to duplicate frames. Resampling looks much better, imho.

  3. Анонимно writes:

    Yes, but it's just one little function among dozens of other features

  4. Den writes:

    I meant that you've started to write in English 🙂 Moreover, promoting some programs, and finally offering to download some zip 🙂

    I even didn't look at video, cos it looked like adv, but now I've read it more carefully, and see Vitia there.
    So, downloaded zip :-), resample looks considerably better.

  5. I meant that you've started to write in English

    Yes, I see.
    However, this is the second time I'm doing that 🙂
    The information in this post could be interesting for English-speaking people as well, so I've written it in English.

    Yes, but it's just one little function among dozens of other features

    …that absolutely useless for me right now and may be in future as well 🙂
    Anyway, I'm not forcing people to do it manually. This is just one way to remove flashes from video. If you need to remove them from time to time only it could be done in this way.

Comments are closed.