Главная страница
Видеосъемка, монтаж фильмов
Выборка отдельных записей (видеофрагментов) и сохранение без потерь в качестве


     В процессе оцифровки видеозаписей (видеозахват), обычно стремятся не прерывать процесс. Таким образом, после видеозахвата трехчасовой видеокассеты формата VHS на диске образуется огромных размеров avi-файл. Если видеозахват осуществлялся в программе Pinnacle Studio, то файл AVI как правило сжат кодеком DV Codec, что дает 13 гигабайт данных на час видео и соответственно около 40 гигабайт для видеокассеты E-180 (три часа).
     Разумеется, при видеозахвате рекомендуют постоянно следить за информацией, которую выдает приложение Pinnacle Studio (либо программа Virtual Dub). Отслеживаются пропуски кадров (drop frames), при обнаружении которых, видеозахват немедленно прекращают, перематывают ленту и начинают снова. Ранее, я старался придерживаться восемнадцати минут непрерывного захвата, чтобы "уложиться" на диск DVD+R. Безусловно, наличие менее длительных видеофрагментов приветствовалось. Предположим, сначала был сюжет на 5 минут с показом некоторого обряда, затем опрос информанта минут на 40. После видеозахвата "пятиминутки", я дожидался нового сюжета, после чего в течение 5-10 секунд с момента начала нового сюжета останавливал захват. Образовывался так называемый "нахлест". Фрагменты видео, захваченные внахлест позволяют быстро определить последовательность видеосюжетов на кассете (в будущем, на диске). Кроме того, если начать видеозахват раньше на 10 секунд до появления нового сюжета, компьютер успеет "разогнаться" и желаемый видеосюжет будет захвачен без "замедлений" воспроизведения (очень жаль, но в начале видеокассеты это осуществить не всегда удается. Вот почему при видеосъемке на новую видеокассету рекомендуют записать 10-20 секунд несущественного материала, либо "черного поля").
     Посредством некоторых экспериментов, мне удалось отыскать возможность "разрезания" огромного "куска" видео на отдельные сюжеты без потери качества исходного материала. Однако, это не значит, что теперь позволительно захватывать трехчасовую видеокассету целиком "за один присест". Непрерывный захват всей видеокассеты может привести к рассинхронизации видео и звука.
     Если вам не удалось остановить запись на 17-й или 19-й минуте, то после видеозахвата проверьте запись последних пяти минут на предмет рассинхронизации. Если все в порядке, можно приступать к "нарезке" сюжетов (видеотреков) для записи на DVD+R.

     Внимание! Данный способ применяют только для "нарезки" архивного видеоматериала, захваченного с VHS кассет. Нарезка уничтожает тайм-код. Тайм-код обычно записывают видеокамеры формата MiniDV. Он представляет собой титры, в которых указывается дата съемки и "бежит" время. Разрезать видеофайл, полученный с таких камер не допускается.

     Для нарезки используется программа Virtual Dub. Открывается AVI-файл, меню /File/-/Open video file.../.
Затем выбирается режим сжатия, меню /Video/-/Direct stream copy/

Внизу окна программы присутствует горизонтальный бегунок прокрутки (курсор) со шкалой. Если его перемещать слева направо, то в верхней части окна будут изменяться кадры. Положение курсора - выбранный кадр. Необходимо "промотать" видео к желаемому началу извлекаемого фрагмента. Если необходимо начало фильма, то "отматывают" в крайнее левое положение. Позиция найдена, нажимают кнопку начала выделенного фрагмента (Mark in, указано на рисунке).

Теперь необходимо отыскать окончание фрагмента. Точно так же проматывают по фильму. Слева внизу программа имеет управление как в обычном магнитофоне/проигрывателе. Можно просмотреть фрагмент прямо из точки, в которой установлен курсор. Окончание найдено, нажимается конец выделенного фрагмента (см. рисунок).

По команде сохранить /File/-/Save as AVI.../, или клавишей [F7] вызываем диалог сохранения видеофайла. Вписывается имя файла фрагмента, после чего Virtual Dub начинает быстро разрезать видеозапись.



На следующем рисунке после операции сравнения файлов я убедился, что никакой перепаковки видео не происходит, оригинальное качество сохраняется.


Проверяю другой видеофайл


Почти полное совпадение.


     К сожалению, информационные технологии развиваются очень быстро и программа Virtual Dub в каком-то смысле устарела. Сегодня популярны видеоформаты MP4 (видеокамеры именуют MTS), MKV, WEBM. Разрешение (размер) кадра увеличился с 720x576 до 1920x1080 точек по горизонтали и вертикали, скорость воспроизведения видео с 25 кадров в секунду достигла 100 кадр/сек. И тем не менее, такое видео можно открыть в Virtual Dub. Воспользуемся приложением ffmpeg. Для пересжатия в формат Xvid для контейнера AVI, потребуется создать каталог, куда необходимо поместить видеофайл, программу ffmpeg.exe (один файл) и текстовый файл. Открывается программа Блокнот и набирается следующий текст (можно скопировать отсюда):
for %%a in ("*.mp*g","*.webm","*.mov","*.mts","*.mp4") do ffmpeg.exe -i "%%a" -vcodec libxvid -qmin 1 -qmax 1 -acodec libmp3lame -ab 320k -ac 2 -f avi -y "%%~na_x264mp3avi.avi"

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

Поясню. Это строка, согласно которой, ffmpeg.exe будет сжимать файл, который находится рядом (в одной папке) с самой программой ffmpeg.exe. Расширения файлов, подлежащих обработке перечислены: "*.mp*g","*.webm","*.mov","*.mts","*.mp4". Звездочка означает "любой". То есть "*.mp*g" может означать "video.mpeg", или "file.mpg". Параметр "-qmin 1 -qmax 1" заставляет программу сжимать видео с лучшим качеством (от 1 до 1), или чуть с худшим, от 1 до 2, если указать "-qmin 1 -qmax 2". Далее параметр "-acodec libmp3lame -ab 320k" нас мало интересует, он сжимает звук в видеозаписи в формат MP3 с качеством 320 kbps. Если строку "-acodec libmp3lame -ab 320k -ac 2", заменить на "-acodec copy", то звук сжиматься не будет (могут возникнуть проблемы при открытии видео в Virtual Dub). При указанных параметрах видеозапись переконвертируется в формат Xvid - "-vcodec libxvid", который уже принимает Virtual Dub.

     Чтобы упаковать видео, достаточно запустить файл start.bat как обычную программу. Появится черное окно с меняющимися параметрами. Обычно видео упаковывается долго. После обработки появится файл с расширением AVI, например, "videofilm_x264mp3avi.avi".
     В некоторых случаях требуется убрать "гребенку" (интерлейс, горизонтальные полоски на видео), тогда строка примет вид:
for %%a in ("*.mp*g","*.webm","*.mov","*.mts","*.mp4") do ffmpeg.exe -i "%%a" -vcodec libxvid -qmin 1 -qmax 1 -vf yadif=1 -r 50 -acodec libmp3lame -ab 320k -ac 2 -f avi -y "%%~na_x264mp3avi.avi"

     Все осталось на своих местах, добавился лишь параметр "-vf yadif=1 -r 50". Единица указывает на чрезстрочное видео (интерлейс), который следует устранить. Параметр "-r 50" - сделать скорость воспроизведения 50 кадр/сек. Вообще, интерлейсное видео с видеокассет VHS содержит 50 полукадров, но проигрыватели сообщают, что скорость 25 кадр/сек. Если параметр "-r 50" не указать, то исходное видео останется с прежними параметрами скорости (изменение с 25 до 50 не означает, что люди в кадре начнут быстро бегать, просто видео будет выводиться плавнее). У нас видеокамера снимает с параметрами 100 полукадров, значит проигрыватель сообщит, что видео 50 кадров в секунду. Мне требуется указать "-r 100" .

     Ну и еще один параметр - размер кадра. Иногда необходимо опубликовать видео в сети Интернет, но размеры 1920x1080 достаточно велики. Как правило, каждую сторону делят на какое-то одно число, чтобы кодек правильно обрабатывал видео. Тогда следующие размеры будут верными для 1920x1080 - 960x540, 640x360, 480x270. Уменьшим до 640x360 и устранив интерлейс уменьшим число отображаемых видеокадров в секунду.
for %%a in ("*.mp*g","*.webm","*.mov","*.mts","*.mp4") do ffmpeg.exe -i "%%a" -vcodec libxvid -qmin 1 -qmax 1 -s 640x360 -vf yadif=1 -r 25 -acodec libmp3lame -ab 320k -ac 2 -f avi -y "%%~na_x264mp3avi.avi"

     В режиме "Direct stream copy" умеет работать и другая видеомонтажная программа - Avidemux. Загрузив практически любой видеофайл можно установить курсор в начало желаемого фрагмента и нажать кнопку "A", затем на любой конечный кадр и нажать "B". Выбрать тот же тип файла (Output Format), что и оригинальный. Нажать кнопку со значком дискеты (левый верхний угол окна программы). Указать (набрать) имя файла и нажать ОК. Фрагмент видеофайла будет моментально вырезан и сохранен.


     В чем же секрет? Программы разрезают видео по ключевым кадрам. Кстати, именно поэтому не всегда удается выбрать точную позицию начального, или конечного кадра.
     На этом сложности заканчиваются, успехов!


(C) Бовин В.Б.
Внесение изменений: 02.04.2012, 13.08.2015