Вступление

В этой заметке я подготовил несколько скриптов для Nautilus, с помошью которых вы можете подготовить материал, снятый на камеру, для монтажа, в 2 клика:

nautilus

Для чего нужно вообще преобразовывать файлы с камеры для монтажа? К примеру у меня камера генерирует файлы *.MTS. В максимальном качестве компьютер даже не успевает его даже воспроизвести — делает это с остановками. Но это не так страшно, Blender вобще не может найти нужный кадр: по каким-то причинам воспроизведение не с ключевого кадра не выходит не у одной из програм. Но даже если у Вас камера пишет хорошие файлы, которые хорошо воспроизводятся — Вы можете испытать проблемы со скоростью в монтаже. Дело в том, что большинство кодеков, которые сжимают видеопоток предназначены только для линейного воспроизведения.

Обычный кодек создает видеопоток таким образом: есть ключевые кадры и цепь изменений между ними. Наверняка вам попадались «испорченные» видеофайлы, где, например, на ключевом кадре попадались артефакты — пятна или что-то в этом роде, и потом эти пятна «путешествовали» по лицам или рукам героев, а затем в определенный момент картинка «прояснялась». Это и был как раз шаг ключевых кадров. Не имея возможности узнать, как выглядит кадр, видеоплеер продолжал перемещать кусок картинки с неверными данными до следующего ключевого кадра.

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

Сначала я решил кодировать файлы кодеком RAW. Эта вещь вообще кадры не кодирует, сохраняет без сжатия. Если у Вас на диске места полно, скорость чтения превышает немыслимую — это Ваш вариант. Но обычно либо места не очень много (нужно около 500ГБ на час видео) либо скорость чтения не ахти. Так-что лучше выход использовать специальный кодек для монтажа. Специалисты рекомендуют 2 варианта: Aple ProRes и Avid DNxHD. Если с первым не совсем понятно, то второй доступен и его можно получить через ffmpeg и avconv:

avconv -i «input_file» -r <FPS> -vcodec dnxhd -b <bitrate> -pix_fmt yuv422p «output_file»

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

Project Format Resolution Frame Size Bits FPS <bitrate>
1080i / 59.94 DNxHD 220 1920×1080 8 29.97 220M
1080i / 59.94 DNxHD 145 1920×1080 8 29.97 145M
1080i / 50 DNxHD 185 1920×1080 8 25 185M
1080i / 50 DNxHD 120 1920×1080 8 25 120M
1080p / 25 DNxHD 185 1920×1080 8 25 185M
1080p / 25 DNxHD 120 1920×1080 8 25 120M
1080p / 25 DNxHD 36 1920×1080 8 25 36M
1080p / 24 DNxHD 175 1920×1080 8 24 175M
1080p / 24 DNxHD 115 1920×1080 8 24 115M
1080p / 24 DNxHD 36 1920×1080 8 24 36M
1080p / 23.976 DNxHD 175 1920×1080 8 23.976 175M
1080p / 23.976 DNxHD 115 1920×1080 8 23.976 115M
1080p / 23.976 DNxHD 36 1920×1080 8 23.976 36M
1080p / 29.7 DNxHD 45 1920×1080 8 29.97 45M
720p / 59.94 DNxHD 220 1280×720 8 59.94 220M
720p / 59.94 DNxHD 145 1280×720 8 59.94 145M
720p / 50 DNxHD 175 1280×720 8 50 175M
720p / 50 DNxHD 115 1280×720 8 50 115M
720p / 23.976 DNxHD 90 1280×720 8 23.976 90M
720p / 23.976 DNxHD 60 1280×720 8 23.976 60M

FPS для меня критичен, тк камера снимает 50 кадров в сек. Если вам не нужно менять FPS — параметр -r не обязателен.

Скачать файл

В приложении мой файл для кодирования файлов (Нажмите по ссылке «Сохранить ссылку как»). Его нужно поместить в папку. Удалите так-же расширение .txt и отметье файл исполняемым.

gnome 2:

~/.gnome2/nautilus-scripts

gnome 3:

~/.local/share/nautilus/scripts

Он сохраняет 2 варианта битрейта: 36 М и 120 М. Если вам это не нужно, откройте файл и удалите строку с ненужным битрейтом. Так-же исправьте FPS если необходимо.

После того как файл будет на месте просто выделяйте в Nautilus нужный файл и выбирайте в контекстном меню ваш скрипт. Результат работы исходник заменять не будет, а будет сохранен в той-же папке с префиксом DNxHD

См также:

Nautilus Scripts>>> - подборка скриптов для наутилуса

FFmpeg howto>>>

О монтажных кодеках>>>