Редактирование видео

SawavsOlja

Нужно из видеофайла вырезать часть экрана и записать отдельно. К примеру, показать только сиськи в увеличенном виде, а остальное убрать. Нужно для презентации. Как это сделать? Замучился уже искать.

oliver11

Примерно так:
mencoder -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=400:mbd=1 -vf crop=размеры -ss когда -endpos сколько -o tits.avi input.avi

Опции менять по вкусу.
Возможно, придётся научиться пользоваться -edl и -hr-edl-seek, если mencoder -ss не захочет позиционироваться так, как хочется.

SawavsOlja

Удивительно, но у меня почти получилось! Удалось вырезать вертикальную полоску.
1. Как задать параметры, чтобы вырезать прямоугольник из центра?
2. Как увеличить скорость передачи данных в выходном файле? (Получилось 56 кбит/сек, а исходник был 19315 кбит/сек.)

apl13

2. Как увеличить скорость передачи данных в выходном файле? (Получилось 56 кбит/сек, а исходник был 19315 кбит/сек.)

apl13

Удивительно, но у меня почти получилось! Удалось вырезать вертикальную полоску.
Запомни: работу с линуксовыми программами нужно начинать со чтения мана, а не заканчивать (и во всяком случае не дергать техподдержку раньше, чем прочитаешь).
crop[=w:h:x:y]
Crops the given part of the image and discards the rest. Useful to remove black bands from widescreen movies.
<w>,<h>
Cropped width and height, defaults to original width and height.
<x>,<y>
Position of the cropped picture, defaults to center.

oliver11

2. Как увеличить скорость передачи данных в выходном файле?
vbitrate побольше поставь.

5777

1)AviSynth
Мощнейшая и удобная штука для обработки видео.
gui нет, но и не надо =) пишется скрипт, который затем открывается любым медиаплеером (или видеоконвертором) как обычный видеофайл.
в твоём случае скрипт будет примерно такой
mega_script.avs

clip = AviSource("your_file.avi")
return clip.crop(x,y,w,h).BicubicResize(clip.width clip.height

рекомендую использовать именно эту прогу, поскольку это действительно удобно (если нет генетической ненависти к написанию скриптов) и есть нормальные доки на русском.
2)VirtualDub
там всё просто и с графическим интерфейсом. Добавляешь нужные фильтры (crop, resize в меню video->compression устанавливаешь кодек и степень сжатия, сохраняешь видео (file->save as avi)

fufa58

если mencoder -ss не захочет позиционироваться так, как хочется.
кстати, с этим можно как-то нормально бороться? :mad: бесит жутко

oliver11

Если бесит, давно бы уже спросил в mailing list-е у них.

oliver11

На самом деле надо смотреть в сторону -hr-edl-seek. Топикстартеру тоже может пригодиться.
Вероятно, то, что я писал про mplayer -vo jpeg, в топку тогда.

SawavsOlja

vbitrate побольше поставь.
С качеством так и не удалось ничего сделать. vbitrate ничего не дал, попробовал другие кодаки - не получилось. Даже ffv1, который, как написано "видео кодек без потерь" не помог - появляется рябь. Исходный файл у меня 25Mb, а на выходе получается 1Mb в плохом качестве. Что делать? Как обойтись вообще без сжатия?
P.S. Кажется исходный файл записан MSVC кодеком.

PaLbI4

опять что ли Sony Vegas посоветовать :grin:

oliver11

Высокий vbitrate должен помогать. Файл и командную строку в студию.

SawavsOlja

Вот строка, чё тока не пробовал:
mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2600 -vf crop=347:520:210:82 -ss 0 -endpos 100 -o tits.avi R14.avi
Файл залил.

PaLbI4

Вот объясните мне как можно узнать координаты из командной строки той части что нужно вырезать/увеличить?

oliver11

Так -vf rectangle же. Документацию читать иногда полезно.

oliver11

Ничо не знаю. («У меня всё работает». ©) У меня ровно этой строчкой всё вырезается и потом нормально играется с качеством, визуально не уступающем оригиналу. Ссылку на файл отправил.
Кстати, -ss и -endpos в данном случае лишние.

PaLbI4

Вот объясните мне как можно узнать координаты из командной строки той части что нужно вырезать/увеличить?
Так -vf rectangle же. Документацию читать иногда полезно.
Это был сарказм если че :)

apl13

Вот объясните мне как можно узнать координаты из командной строки той части что нужно вырезать/увеличить?
А мышью как ты их узнаешь?

apl13

Кстати, -ss и -endpos в данном случае лишние.
Это всего лишь третье измерение для параллелепипеда. :umnik:

SawavsOlja

Всё получилось! Проблема была в том, что у меня был старый Mencoder. Огромное спасибо 2 за помощь!

PaLbI4

ну дак мышкой я обведу тот участок прямо по верх видео который мне нужен и все , а в командной строке я задам какие то координаты, он перекодирует, пересчитает (на это потратится куча времени) - я потом просмотрю результат и увижу что я не угадал с координатами и начинай все сначала?
З,Ы, Сейчас я на полном серьезе говорю, без всяких приколов, может я не понимаю чего то?

oliver11

Запускаешь mplayer с -vf rectangle, визуально выделяешь нужную область. Потом mencoder-у пишешь те координаты прямоугольника, которые тебе написал mplayer. Профит.

PaLbI4

ну а если мне теперь нужно "трекить" движущийся объект?

oliver11

Это уже видеомонтаж какой-то начинается. Тогда выбирай другой инструмент. :-)

PaLbI4

ну вот о чем я и говорю
вот этот ролик я склеил в Вегасе за один вечер
http://www.youtube.com/watch?v=-jnMIM6vk_U

Filan

Сколько ты заплатил за свой вегас?

apl13

ну а если мне теперь нужно "трекить" движущийся объект?
Ну-ка, ну-ка, мышкой, мышкой.

apl13

а в командной строке я задам какие то координаты, он перекодирует, пересчитает (на это потратится куча времени)
Я только не понял, откуда возьмется куча времени.

PaLbI4

куча времени - из пережатия.
fullHD 50p у меня пережимается примерно 3 кадра в секунду. То есть ролик около 5 мин может час считаться.

apl13

То есть посмотреть один кадр для превью тебе религия не позволяет, да?
Оставить комментарий
Имя или ник:
Комментарий: