Динамические водяные знаки на видео
Интересный момент произошел в развитии направления обработки и преобразования видео. Возникла задача по наложению не статической картинки водяных знаков, а полноценного видеоролика (например, титров или рекламы или динамического лого).
На входе у нас есть:
- начальный видеоролик
- последовательность кадров титров для наложения в виде серии PNG-кадров (можно использовать и видео, но возникают вопросы с альфа-каналом)
На выходе надо получить видеоролик с наложенной последовательностью кадров (для простоты в дальнейшем я буду называть эту последовательность маской, хотя это и не совсем терминологически правильно).
Подробнее →
Текущий проект
Сейчас все силы и чаяния брошены на работу с ТулаВидео — региональным медиа-сайтом. В принципе, это сумма того, чем пришлось заниматься почти все лето.

Подробнее →
Видео для iPhone — все же сделаем получше
После краха с отработанной методикой сжатия h.264-кодеком, которая давала для Flash-а весьма недурственный результат, захотелось понять, почему iPhone, а, точнее, Appl-овский декодер столь привердлив, нежели VLC и прочие. После серии экспериментов удалось исключить пару параметров, которые не давали заметного выигрыша по сжатию, но весьма раздражали iPhon-овский медиа-проигрыватель.
Подробнее →
iPhone и ffmpeg
Простая с виду задача — переконвертировать видео для просмотра на вышеупомянутом мобильном устройстве — таила в себе много проблем.
Начиная с того, что подсмотренный в интернете секретный прием кунфу двупроходного сжатия заработать не захотел:
1 2 3 | #!/bin/bash ffmpeg -i $1 -y -an -pass 1 -vcodec libx264 -s 480x320 -aspect 16:9 -threads 4 -b 256kbps -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me epzs -subq 1 -trellis 0 -refs 1 -bf 16 -b_strategy 1 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 256K -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 $2 ffmpeg -i $1 -y -acodec libfaac -ab 64k -pass 2 -vcodec libx264 -s 480x320 -aspect 16:9 -threads 4 -b 256kbps -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partp4x4+partb8x8 -flags2 +brdo+dct8x8+wpred+bpyramid+mixed_refs -me umh -subq 7 -trellis 1 -refs 6 -bf 16 -directpred 3 -b_strategy 1 -bidir_refine 1 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 256K -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 $2 |
Устройство страшно сопротивлялось QT-вской картинкой. Выход был найден в удалении всех параметров кодека (видимо, какой-то из них и вводил декодер в ступорное состояние). Качество видео ухудшилось, но показывает
1 2 | ffmpeg -i $1 -y -an -pass 1 -vcodec libx264 -s 480x320 -aspect 16:9 -threads 4 -b 256kbps -qmin 10 -qmax 51 $2 ffmpeg -i $1 -y -acodec libfaac -ab 64k -pass 2 -vcodec libx264 -s 480x320 -aspect 16:9 -threads 4 -b 256kbps -qmin 10 -qmax 31 $2 |
В копилку проектов
За последнее время накопилось достаточно работ, которые подошли к определенной вехе и вполне достойны, чтобы быть представлены в портфеле проектов.
Подробнее →

