Разложить видео на кадры и собрать обратно

Все знают, что любое видео состоит из отдельных картинок проигрывающихся с различной скоростью (24, 30, 60 картинок в секунду). Принято эти картинки называть кадрами или фрэймами (frames). Посмторим, как разложить видео на кадры и собрать обратно.

Часто видеопоток не готов для создания фильма. Например, слишком зашумленное изображение, искажены цвета, царапины на оцифрованных VHS записях и так далее. Для борьбы с перечисленными нюансами есть множество фильтров для обработки видеопотока, которые интегрированы в видеоредакторы. Но не всегда этих фильтров достаточно для обработки видео.
Читать дальше

Многопроходное кодирование

Все, наверное, слышали термин «многопроходное сканирование». И, как бы, создается ощущение, что многопроходное кодирование уж всяко лучше однопроходного. И это действительно так, кодер проходит по видео несколько раз (чаще всего 2) и после каждого прохода готовит информацию к своему будущему проходу, чтобы максимально эффективно сжимать видео, чтобы не разбазаривать драгоценный битрейт. Можно делать и однопроходное кодирование с большим постоянным битрейтом (чтобы уж наверняка все малюсенькие движения и деталюшечки зафиксировать), но это тоже не выход, ибо не всякий накопитель (HDD, DVD, флэшка) будет способен стравливать кодеку такие объемы информации непрерывно, без дерготни. Поэтому, IMHO, лучше кодировать в несколько проходов, тем самым добиваясь оптимального подбора битрейта по фильму. Далее приводится скрипт для Linux, который позволяет запустить многопроходное кодирование в MPEG2 с использованием бесплатного энкодера mplayer, о котором было написано ранее. В качестве параметра скрипту подается число проходов с которым надо кодировать.

Скрипт:
Читать дальше