Вступление
В этой заметке я подготовил несколько скриптов для Nautilus, с помошью которых вы можете подготовить материал, снятый на камеру, для монтажа, в 2 клика:
Для чего нужно вообще преобразовывать файлы с камеры для монтажа? К примеру у меня камера генерирует файлы *.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>>>