LINUX.ORG.RU

mencoder еще раз


0

0

Скатал большой фильм с 2-х DVD в два avi, видео оставил как есть, аудио зажал (-ovc copy -oac mp3lame). DVD вернул. avi'шки по 5-6 гигов каждая. Теперь хочу эти две авишки зажать в один файл, с уже зажатым видео (-ovc lavc -oac copy). Но mencoder их на командной строке воспринимает как два независимых файла (делаю mencoder <opts> *.avi) и зажимает по отдельности. Как заставить mencoder рассматривать эти две авишки как один логический фильм и зажимать целиком?


Возможно, что предварительно склеив их путем применения avimerge (обязательно проверить, не уплывет ли к концу фильма звук) или avidemux2.

P.S. Если проблема из разряда "на fat32 более 2Гб файлов не бывает", то без понятия.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

Дело не в fat32, одна авишка у меня на ext3, другая вобще на reiserfs через nfs, каждая по 5-6 гигов, напомню. У меня ни на одном разделе нет 12 свободных гигов, чтобы склеить их, даже временно :(

rihad
() автор топика
Ответ на: комментарий от rihad

Если я правильно понял, у вас две авишки, в каждой из них свой кусок звука. Тогда почему бы сначала не сжать по отдельности, а потом склеить (там-то уж не такой объем будет)?

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

Не только звука, но и изображения :) Фильм в двух авишках. Если сжимать по отдельности, то получится разный битрейт. Я же хочу, чтобы оптимальный 2-pass битрейт просчитывался по всему фильму, а не по его частям!

rihad
() автор топика
Ответ на: комментарий от rihad

> Я же хочу, чтобы оптимальный 2-pass битрейт просчитывался по всему фильму

Все, теперь понял (с самого начала это не было указано). Тогда ход решения должен быть таков: ищем программу, которой на вход подается N авишек, а она на свой __stdout__ (!!!) выдает "склеенный" avi, который и скармливаем mencoder'у (если он сможет сделать i-й проход по stdin'у).

Я бы покопал в сторону mjpegtools и transcode (у кого из них lav2yuv) и попробовал бы соорудить конвейер.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

Так такая тулза зовется cat :) С самого начала ее отверг, т.к. был уверен, что mencoder так не заработает, т.к. ему наверное нужно знать размер входного файла для своих прогрессов. Хотя черт его знает, можно попробовать.

rihad
() автор топика
Ответ на: комментарий от Obidos

> (если он сможет сделать i-й проход по stdin'у).
Ну с этим не должно быть проблем, т.к. каждый проход это новый запуск конвеера.

rihad
() автор топика

Уже задолбался это писать. И в faq есть примеры.

cat *.avi | mencoder - -oac copy -ovc твои_параметры -o ready.avi

Обрати внимание на "лишний" -
Он означает, что в mencoder идет поток.

P.S. Еще расскажи, с каким качеством ты собрался делать 2x дисковый DVD? Я один диск на две компашки жму - типа более менее по качеству, а ты наоборот.

jackill ★★★★★
()
Ответ на: комментарий от jackill

Да я просто не попробовал, но собираюсь. Кстати, кажется то как ты дал не будет работать с 1.0pre3, надо чтобы входные файлы шли *до* опций, иначе командная строка хреново парсится. Так что cat *.avi | mencoder -oac copy -ovc твои_параметры -o ready.avi-

> P.S. Еще расскажи, с каким качеством ты собрался делать 2x дисковый
> DVD? Я один диск на две компашки жму - типа более менее по качеству,
> а ты наоборот.

Меня вполне устраивает вплоть до 100 минут на одну 700мб компашку. Аудио битрейт mp3 128 (abr), в среднем где-то 116. А на двух DVD фильм идет почти 4 часа ("Однажды в Америке"), как минимум на два СД. Думаю без трех обойтись, там сцены спокойные.

rihad
() автор топика
Ответ на: комментарий от rihad

fsck lor :(

> надо чтобы входные файлы шли *до* опций

Не до, а после конечно. cat *.avi | mencoder -oac copy -ovc твои_параметры -o ready.avi -

rihad
() автор топика
Ответ на: комментарий от Obidos

Похоже Obidos прав, нужна программка знающая про avi, а не просто cat. Она должна взять на входе мои авишки а на выходе создать виртуальный файл, который имеет правильный avi заголовок (длина потока и т.п.), чтобы mencoder воспринял stdin как один длинный файл.

> Я бы покопал в сторону mjpegtools и transcode (у кого из них lav2yuv) и попробовал бы соорудить конвейер.

Спасибо попробую.

rihad
() автор топика
Ответ на: комментарий от rihad

> виртуальный файл, который имеет правильный avi заголовок

Вот в этом-то и все дело (корректный заголовок).

А что касается lav2yuv -- тут суть в том, чтобы из двух сжатых файлов сделать один некомпрессированный raw-поток, у которого понятие "заголовок" можно по большому счету и не рассматривать. "Минус" метода -- звук при таком подходе придется жать отдельно (lav2yuv его по понятным причинам игнорирует).

Obidos ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.