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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.