Форум: ТЕХНИЧЕСКАЯ ЧАСТЬ
Тема: Тупое приспособление для кодирования АМВ
автор: zzerg

сообщение оставил zzerg , 19 августа 2007, 07:04
Задача: сделать примитивный туториал современного кодирования АМВ для ленивых и/или нубов.
С минимальными дополнительными усилиями со всех сторон.
Мне не нравится идея "туториала по MeGUI", потому что он сложный, глюкавый, требует дотНет2, и нормального интернета.
Свою программу писать влом.

Вариант решения: набор заготовленных скриптов + ависинт + обычные енкодеры.

Скачать тут: < http://www.zzerg.com/amv/amv264/ >
Файл amv264-v04-pack.zip (2,8 МБ) содержит все скрипты, плюс утилиты x264.exe, faac.exe, mkvmerge.exe и хрень разную (нужна мквмержу).
Разобраться там несложно.

Нужен ещё установленный avisynth.
Возможно, что нужно что-то ещё, но я об этом не знаю. Какая-нибудь DLL в системных папках.
Если у вас не работает поэтому -- жалуйтесь.

Предварительная версия туториала (без картинок) прилагается.

С вниманием отнесусь к конструктивным советам по поводу реализации умного ресайза.
С особым интересом выслушаю мнения по поводу параметров кодирования х264, а то я в них не разбирался.

=============================================================

Набор обеспечивает продвинутое 3-х проходное кодирование видео в х264, аудио в ААС, и MKV как выходной контейнер.
Для кодирования требуются минимальные умственные и физические усилия. Самое сложное, пожалуй, это предварительно установить AviSynth.
(Внимание: возможно также, что для некоторых программ необходим dotNET framework, но я не уверен.)
Ну и терпение понадобится, потому что качественное кодирование будет идти долго.
Настройки жёстко зафиксированы, но продвинутый пользователь может их легко изменить, покопавшись в скриптах. Непродвинутым пользователям изменять настройки не нужно.
Цель данного набора: прилично закодировать АМВ-клип, уложившись в рамки 1,5 мегабайт на минуту для превью и 8 мегабайт на минуту для полной, при этом совершив минимум телодвижений.

=============================================================

Набор для кодирования юного АМВ-шника "amv264".
Инструкция пользователя.

1 Предварительная подготовка (выполняется один раз)
1.1 Обязательно должен быть установлен AviSynth. Это абсолютно необходимо. (подробная инструкция тут будет, я надеюсь)
1.2 Распаковать архив набора, получив папку "amv264"с под-папками "in", "out" и "stuff" (в последней будет много файлов).

2 Подготовка клипа
2.1 Клип желательно экспортировать (рендерить) из видеоредактора в максимально хорошем качестве, используя НЕсжатие видео и аудио (uncompressed), или используя беспотерьный кодек для видео (huffyuv или другой). Формат файла желательно avi. Внимание: несжатое видео занимает много места!
Если твой клип в другом формате, то есть не-avi, или avi, но с закодированным видео/аудио, то он должен проигрываться на твоём компьютере обычным медиа-проигрывателем (Media Player Classic, Light Alloy, Windows Media Player или т.п.)
Если нет -- значит, не установлены необходимые кодеки. Проигрывание в плейерах mplayer и VideoLAN ничего не значит, у них свои встроенные декодеры.
2.2 Исходный клип нужно поместить в подпапку "in" папки "amv264". Внимание: в папке "in" не должно быть больше никаких файлов! Только исходный клип.
2.3 Не используйте русские буквы в названии файла. К сожалению, такие файлы скорее всего не будут обрабатываться.
2.4 На диске должно быть свободное место для временных файлов и окончательно закодированного клипа (100 мегабайт должно хватить для АМВ разумной длительности.)

3 Кодирование клипа (простой путь)
3.1 Запустить файл "!auto_all.bat" из папки "amv264". (Например, сделав на нём двойной клик.)
В процессе кодирования будут открываться чёрные окна командной строки. Не нужно их трогать. Нужно просто подождать. (Разумеется, если не происходит каких-нибудь ошибок.) Ждать иногда придётся долго, потому что настройки ориентированы на высокое качество кодирования.
3.2 По окончании кодирования в подпапке "out" папки "amv264" будут созданы файлы с названиями как у исходного, но с окончаниями ".prev.mkv" (превью-версия) и ".full.mkv" (полная версия) -- закодированные версии исходного клипа.
3.3 Рекомендуется просмотреть полученные файлы, и, если всё в порядке, переименовать их и переместить в надёжное место.

4 Для продвинутых пользователей
4.1 Если вы хотите сделать только превью, или только полную версию, запускайте файлы "!make_preview.bat" или "!make_full.bat", соответственно. Они находятся в подпапке "stuff".
4.2 Если вам кажется, что процесс кодирования слишком длинный (он вполне может занять несколько часов!), и вы готовы пожертвовать качеством, то в подпапке "stuff" переименуйте файл "main.bat.fast" в "main.bat" (при этом старый main.bat" будет переписан).
Чтобы восстановить настройки для медленного и более качественного кодирования, в подпапке "stuff" переименуйте файл "main.bat.slow" в "main.bat" (при этом текущий main.bat" будет переписан).



сообщение оставил Aggressor , 19 августа 2007, 10:51
По-моему, неудачно подобраны битрейты. 160 для превью- явно мало.
Во-вторых, аудиокодек гуанский. Надо использовать НероААЦ, этому до него как до неба на тележке.
Умный ресайзер не поможет, уменьшение в 2 раза- оптимальный вариант. Правда, придется надеяться на то, что разрешение полной будет нормальной кратности...
А так в принципе неплохая задумка!
Цитата (zzerg @ 19 августа 2007, 06:04)
Свою программу писать влом

А я вот написал.
Спасибо за идею выковыривания звука командной строкой ВДМа!
*пошел дополнять функциональность проги

сообщение оставил Генерал Гривус , 19 августа 2007, 12:31
Ну в принципе неплохо :biggrin: Я бы рекомендовал прогу StaxRip - гораздо лучше и незаглюченнее чем MeGui...
сообщение оставил Endymion , 19 августа 2007, 15:01
zzerg
1) в чем проявляется заглюченность meGUI? Я пока не замечал.
2) faac.exe это энкодер для AAC? Тогда почему не NeroAACEnc.exe? Он куда лучше. Темболее с помощью еще одного интересного командлайнового exe-шника можно сделать так, чтобы на входе этот энкодер получал любое аудио, которое играется в плеере. Тобишь через DirectShowSource ависинта.
3) в каком смысле meGUI требует нормальный инет? Да это многоцелевая прога, но никто ж не заставляет закачивать все, что она просит. Достаточно иметь только нужное.
4) Битрейты да, не ниже 200. Если хочешь авторесайз, расчитывай на то, что у кого-то будет в полной версии картинка 640x360, а у кого-то например 768x432
5) StaxRip не позволяет настраивать некоторые функции енкодера(ров). Фтопку его.

Вообще как-то у тебя сложновато все.
Цитата (zzerg @ 19 августа 2007, 06:04)
С вниманием отнесусь к конструктивным советам по поводу реализации умного ресайза.

В смысле "умного"? Вот такая строчка(эту команду ависинта можно пропустить. она уже морально устарела :РРР):
Исходный код
LanczosResize (Width(Last)/2, Height(Last)/2)

Будет уменьшать исходный клип в 2 раза ровно. Как сделать, чтоб оно еще кратность 16 соблюдало я пока не придумал.
Цитата (zzerg @ 19 августа 2007, 06:04)
С особым интересом выслушаю мнения по поводу параметров кодирования х264, а то я в них не разбирался.

ну я вот примерно такими пользюсь:
Исходный код
--pass 3 --bitrate 200 --stats ".stats" --ref 16 --mixed-refs --no-fast-pskip --bframes 3 --b-pyramid --b-rdo --bime --weightb --direct auto --filter -2,-1 --subme 7 --trellis 2 --analyse all  --8x8dct --vbv-maxrate 25000 --me esa --threads auto --thread-input --progress --no-dct-decimate --no-psnr --no-ssim --output "" ""

Для НЕ клипов, конечно более слабыми, ибо очень долго кодится. Все расписывать мне пока что-то очень лень. Могу сказать только кодить желательно в 3 прохода (--pass 1,3,3) <--{исправлено}, хотябы превью. Не пихать много b-фреймов(--bframes 3), потому что это очень сильно пожатые кадры, качество которых меньше чем у  обычных или кейфреймов. Зачем они тогда нужны? Чтобы лучше распределить использование битрейта по всему видео. Те параметры, в который есть слово "no"(например --no-psnr), они отключают разные фичи, что направлены на ускорение кодинга (часто за счет потери качества, но не всегда). Клипы короткие, спешить некуда, так что лучше отключить, чтоб получить качество наверняка.



сообщение оставил Endymion , 19 августа 2007, 15:52
zzerg
Вот тебе скрипт, который будет даунсайзить видео РОВНО в 2 раза, потом проверять кратны ли величины 16 и если НЕ кратны, то обрезать нужное число пикселей со всех сторон для достижения кратности (Это НЕ много. Обычно до 4 пикселей, если исходник не слишком корявый :biggrin: ) . Я попробовал, вроде работает.
Версия 0.3:
Исходный код
DirectShowSource ("видео.avi", audio=false)
a = Width / 2
b = Height / 2
LanczosResize (a, b)
c = (a % 16) / 2
d = (b % 16) / 2
Crop (c, d, -c, -d)


UPD: При вычислениях могут получиться нечетные результаты (зависит от исходника). Тогда скрипт точно работает неверно (хотя его можно улучшить, но пока не сообразил как). Впрочем, тупое уменьшение размера в двое в этом случае совсем не подходит.  :biggrin:

UPD2:
Этот скрипт проглотит нечетные значения, если (я не уверен) функции Width и Height, примененные повторно принимают значения уже НОВОЙ длинны и ширины, которая получилась после кропа. Или же их можно попробовать заменить соответственно на (a - x) и (b - y), в этом я уверен больше.
Версия 0.5:
Цитата
DirectShowSource ("видео.avi", audio=false)
#ConvertToRGB24()
a = Width / 2
b = Height / 2
x = a % 2
y = b % 2
Spline36Resize (a, b)
Crop (x, y, 0, 0)
c = ((a - x) % 16) / 2 #c = (Width % 16) / 2
d = ((b - y) % 16) / 2 #d = (Height % 16) / 2
Crop (c, d, -c, -d)


- Если исходник не в пространстве RGB (не исходник клипа из редактора), то в некоторых случаях возможно без строчки ConvertToRGB24() после DirectShowSource, скрипт работать не будет.
- С исходником, у которого нечетные длина или ширина, скрипт не тестил.
- Сплайновый ресайз, примененный в этой версии скрипта вроде дает лучше каритнку чем ланцзос.



сообщение оставил Endymion , 20 августа 2007, 01:13
zzerg
NeroAAC можно скачать < тут. >
Самое важное там NeroAACEnc.exe. Остальное - полезные бантики. Где-то еще у меня была версия этого энкодера с поддержкой sse2, но не помню в какой "ящик" ее положил.

P.S. Гомен, чтот я тут расфлудился.

сообщение оставил Arm_Turbo , 20 августа 2007, 16:46
Preview лучше делать так:

a = DirectShowSource(...);
NewWidth = 320;
NewHeight = 2*round(160*getHeight(a)/getWidth(a));

Если нужна кратность 16, то:

a = DirectShowSource(...);
NewWidth = 320;
NewHeight = 16*round(20*getHeight(a)/getWidth(a));

сообщение оставил Endymion , 20 августа 2007, 16:57
Arm_Turbo
А можно подробней рассказать что оно делает с картинкой?
И получается ты привязываешь картинку к определенному разрешению. (В данном случае 320). Это не удобно, постоянно менять. Как я понял зЗергу надо прописать скрипт один раз и на всегда. Прога для нубов тоже :Р. И если исходник 16x9, должно получиться разрешение 320x180, а это маловато.
И кстати что за функции getHeight, getWidth? У меня они не распознаются. Я знаю есть просто Height и Width.
И чем оно у тебя все должно ресайзится? Не вижу ни Ланцзосов, ни Сплайнов..?



сообщение оставил zzerg , 20 августа 2007, 17:03
Цитата (Endymion @ 19 августа 2007, 13:01)
1) в чем проявляется заглюченность meGUI? Я пока не замечал.
3) в каком смысле meGUI требует нормальный инет?

2) faac.exe это энкодер для AAC? Тогда почему не NeroAACEnc.exe? Он куда лучше. Темболее с помощью еще одного интересного командлайнового exe-шника можно сделать так, чтобы на входе этот энкодер получал любое аудио, которое играется в плеере. Тобишь через DirectShowSource ависинта.

4) Битрейты да, не ниже 200. Если хочешь авторесайз, расчитывай на то, что у кого-то будет в полной версии картинка 640x360, а у кого-то например 768x432

1-3) MeGUI проблемно устанавливать на компы без интернета, потому что оно норовит скачивать само. Когда я его ставил, у меня где-то с третьей попытки получилось, причём с сообщениями об ошибках при установке. Ему ещё дотНЕТ приходится ставить, это имхо минус.

2) ну если нероААЦ можно тупо выдрать екзешник и использовать, то я в принципе не против. Хотя идеологически я его недолюбливаю уже заранее. Расскажите мне про волшебную фичу "интересного командлайнового exe-шника".

4) По поводу авторесайза... если там нельзя что-нить хитрое намудрить в ависинтовых скриптах или прикрутить свой внешний алгоритм, то пусть остаётся так. Пофиг, что там плохая кратность. Пусть х264 варнинги свои пишет, кого это волнует? Цель стоит не достичь идеала, а минимизировать мозговые усилия при использовании.

УПД: а, вот я вижу уже идеи ресайза милые нашлись  :)

Остальное учитываю :)



сообщение оставил Aggressor , 20 августа 2007, 17:11
Цитата (zzerg @ 20 августа 2007, 16:03)
ну если нероААЦ можно тупо выдрать екзешник и использовать, то я в принципе не против

Я так с самого начала использовал. Даже не знал, что это CLI-приложение надо было откуда-то "выдирать" :wow:



сообщение оставил Endymion , 20 августа 2007, 17:19
Цитата (zzerg @ 20 августа 2007, 16:03)
Расскажите мне про волшебную фичу "интересного командлайнового exe-шника"

В архиве, по моей ссылке в предыдущем посте есть файлик BePipe.exe Он может открыть любое аудио через Ависинт и скормить НЕРОвскому (и не только ему! пропишешь в командлайне -help, там написано) энкодеру. Для этого в командлайн БиПайпа надо написать что-то вроде:

bepipe.exe --script "DirectShowSource(<input>)" | "C:\Program Files\AACEnc\neroAacEnc.exe"  -q 1 -he -if - -of <output>

Там где input - это имя входного файла, output -- выходного. Внимание. Там пишутся знаки <> вместо кавычек.
Путь C:\Program Files... -- путь к Энкодеру.
q 1 -he -if - -of    -- это настройки кодинга

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



сообщение оставил zzerg , 20 августа 2007, 20:25
Цитата (Endymion @ 19 августа 2007, 13:01)
--me esa

Не, господа, мне жизни не хватит, если юзать esa, это overkill совершенный.
К тому же, насколько я начитался, преимущество его перед umh исчезающе мало.
И вообще esa это просто референс алгоритм, он не предназначен для реальных случаев, а используют его только маньяки.

И насчёт битрейтов я не очень согласен... Для превью 200 конечно, хорошо бы. Но тогда фиг оно получится 1,5 мегабайта на минуту (204,8 кбпс на всё, включая звук и оверхеды).
Ну и для полной 900кбпс не с потолка взято, а опять же из расчёта 8 мегабайт/минута (1092 кбпс на всё).
Это же не делюксы, чтобы идеальное качество сохранять.
То есть немножко битрейты поднять можно... но чуть-чуть.

Опять же, не вижу проблемы, что все настройки закопаны в скриптах. Умный юзер их легко найдёт. А ламерам нельзя давать вводить битрейт самим. А то ж они "шедеврами" закидают просто.

За ресайзы, нероАВЦ и бепайп -- спасибо. Сейчас прикручиваю.



сообщение оставил zzerg , 20 августа 2007, 20:37
Цитата (Arm_Turbo @ 20 августа 2007, 14:46)
Preview лучше делать так:
a = DirectShowSource(...);
NewWidth = 320;
NewHeight = 16*round(20*getHeight(a)/getWidth(a));

Да, мне нравится эта идея. Только функции называются просто height и width.
И ширину я предпочту 512, всё-таки это не дивикс. И кратность пожалуй рискну сделать 8 (в худшем случае будет растянуто или сжато на 7 пикселей, то есть процента 3 оценочно).

сообщение оставил Endymion , 20 августа 2007, 20:40
Цитата (zzerg @ 20 августа 2007, 19:25)
а используют его только маньяки

ну так я ж не навязываю тебе свой скрипт. я просто показал какой у меня. да, скрипт у меня дико тормозной. может я конечно немного маньяк... :biggrin:

Цитата (zzerg @ 20 августа 2007, 19:25)
За ресайзы, нероАВЦ и бепайп -- спасибо. Сейчас прикручиваю

Ну ты это. Если хорошо прикрутишь, может я с одним человеком насчет обнародования нашей ГУИ и говорить не буду, ага? Или может подождем пока он появится, чтоб заново велосипед не изобретать?

сообщение оставил Arm_Turbo , 21 августа 2007, 12:52
Цитата (zzerg @ 20 августа 2007, 20:37)
Цитата (Arm_Turbo @ 20 августа 2007, 14:46)
Preview лучше делать так:
a = DirectShowSource(...);
NewWidth = 320;
NewHeight = 16*round(20*getHeight(a)/getWidth(a));

Да, мне нравится эта идея. Только функции называются просто height и width.
И ширину я предпочту 512, всё-таки это не дивикс. И кратность пожалуй рискну сделать 8 (в худшем случае будет растянуто или сжато на 7 пикселей, то есть процента 3 оценочно).


Я для AMV News просто делаю 320 поэтому на него и ориентируюсь.

Разрешение 320 + 224 kbps дают отличный результат.

Не забудь потом новый архив положить. =)



сообщение оставил Endymion , 21 августа 2007, 18:10
Поскольку в ззерговском "Тупом приспособлении" код avs-скриптов можно будет поправить самому, вот версия 0.6 скрипта для автодаунсайза.
Как и раньше он не привязан к определенному разрешению, делает картинку немногим меньше половины оригинала, не вносит изменения в аспект и соблюдает кратность 16. Теперь принимает на входе картинку даже с нечетным разрешением. Может кому-то пригодится.
Исходный код
DirectShowSource ("video.avi", audio=false)
a = Ceil (Width / 2)
b = Ceil (Height / 2)
Spline36Resize (a, b)
c = (a % 16) / 2
d = (b % 16) / 2
Crop (c, d, -c, -d)


Единственное, чем больше у вас исходник, тем меньше будет хватать битрейта, поскольку изменять его скорее всего будет нельзя.
UPD:Ввиду обстоятельств, что продвинутые пользователи смогут таки поменять битрейт на свое усмотрение, предостережение снимается. Главное теперь найти куда именно этот самый битрейт заскриптовали :Р

А этот скрипт должен проверять кратна ли полная версия 16, и если нет, то подрезать по несколько пикселей со всех сторон, для ее достижения.
Исходный код
DirectShowSource ("video.avi", audio=false)
a = Floor ((Width % 16) / 2)
b = Floor ((Height % 16) / 2)
Crop (a, b, -a, -b)


P.S. Это все так, для сторонников кратности ^^



сообщение оставил zzerg , 21 августа 2007, 18:46
Итак, новая версия. Теперь ещё тупее!!!

< http://www.zzerg.com/amv/amv264/amv264-v04-pack.zip >

Файл amv264-v04-pack.zip (2.8 МБ) содержит все скрипты, плюс утилиты x264.exe, neroaacenc.exe, bepipe.exe, mkvmerge.exe и некоторые dll для mkvmerge. (Похоже, что мне пришлось засунуть туда почти весь mkvmerge, потому что он, зараза, портирован из-под линуксов и без библиотек своих нифига не работает.)
Разобраться там несложно.

Набор обеспечивает продвинутое 3-х проходное кодирование видео в х264, аудио в ААС, и MKV как выходной контейнер.
Для кодирования требуются минимальные умственные и физические усилия. Самое сложное, пожалуй, это предварительно установить AviSynth.
(Внимание: возможно также, что для некоторых программ необходим dotNET framework, но я не уверен.)
Настройки жёстко зафиксированы, но продвинутый пользователь может их легко изменить, покопавшись в скриптах. Непродвинутым пользователям изменять настройки не нужно.
Цель данного набора: прилично закодировать АМВ-клип, уложившись в рамки 1,5 мегабайт на минуту для превью и 8 мегабайт на минуту для полной, при этом совершив минимум телодвижений.

=============================================================

Набор для кодирования юного АМВ-шника "amv264".
Инструкция пользователя.

1 Предварительная подготовка (выполняется один раз)
1.1 Обязательно должен быть установлен AviSynth. Это абсолютно необходимо. (подробная инструкция тут будет, я надеюсь)
1.2 Распаковать архив набора, получив папку "amv264"с под-папками "in", "out" и "stuff" (в последней будет много файлов).

2 Подготовка клипа
2.1 Клип желательно экспортировать (рендерить) из видеоредактора в максимально хорошем качестве, используя НЕсжатие видео и аудио (uncompressed), или используя беспотерьный кодек для видео (huffyuv или другой). Формат файла желательно avi. Внимание: несжатое видео занимает много места!
Если твой клип в другом формате, то есть не-avi, или avi, но с закодированным видео/аудио, то он должен проигрываться на твоём компьютере обычным медиа-проигрывателем (Media Player Classic, Light Alloy, Windows Media Player или т.п.)
Если нет -- значит, не установлены необходимые кодеки. Проигрывание в плейерах mplayer и VideoLAN ничего не значит, у них свои встроенные декодеры.
2.2 Исходный клип нужно поместить в подпапку "in" папки "amv264". Внимание: в папке "in" не должно быть больше никаких файлов! Только исходный клип.
2.3 Не используйте русские буквы в названии файла. К сожалению, такие файлы скорее всего не будут обрабатываться.
2.4 На диске должно быть свободное место для временных файлов и окончательно закодированного клипа (100 мегабайт должно хватить для АМВ разумной длительности.)

3 Кодирование клипа (простой путь)
3.1 Запустить файл "!auto_all.bat" из папки "amv264". (Например, сделав на нём двойной клик.)
В процессе кодирования будут открываться чёрные окна командной строки. Не нужно их трогать. Нужно просто подождать. (Разумеется, если не происходит каких-нибудь ошибок.) Ждать иногда придётся долго, потому что настройки ориентированы на высокое качество кодирования.
3.2 По окончании кодирования в подпапке "out" папки "amv264" будут созданы файлы с названиями как у исходного, но с окончаниями ".prev.mkv" (превью-версия) и ".full.mkv" (полная версия) -- закодированные версии исходного клипа.
3.3 Рекомендуется просмотреть полученные файлы, и, если всё в порядке, переименовать их и переместить в надёжное место.

4 Для продвинутых пользователей.
4.1 Если вы хотите сделать только превью, или только полную версию, запускайте файлы "!make_preview.bat" или "!make_full.bat", соответственно. Они находятся в подпапке "stuff".
4.2 Если вам кажется, что процесс кодирования слишком длинный (он вполне может занять несколько часов!), и вы готовы пожертвовать качеством, то в подпапке "stuff" переименуйте файл "main.bat.fast" в "main.bat" (при этом старый main.bat" будет переписан).
Чтобы восстановить настройки для медленного и более качественного кодирования, в подпапке "stuff" переименуйте файл "main.bat.slow" в "main.bat" (при этом текущий main.bat" будет переписан).

-------

Советы по поводу настроек этих (цензура) кодеков принимаются. Особенно для варианта относительно быстрого и при этом приемлемого качества. Особенно в контексте анимешных исходников. То, что можно достичь супер-качества, кодируя 3х-минутный клип 2-3 дня, я уже понял :) Лично мне это неприемлемо, потому что не даёт возможности доделывать клип за 2-3 часа до срока сдачи :(

Так же интересно было бы узнать, работает ли вся эта хренотень без установленных мквтулзов, дотнетов и прочего. (Самому сносить и проверять, естественно, внапряг.)

Да, разумеется, очень продвинутые пользователи могут редактировать ависинтовые скрипты и параметры кодеков сами, без проблем. Мне было бы интересно услышать, что хорошего они там добавляют/исправляют.

сообщение оставил Yukiya- Ayase , 21 августа 2007, 21:33
Цитата
Итак, новая версия. Теперь ещё тупее!!!

Вот с этим я согласен!  :lol:
Только вот в папке out у меня ничего не было, странно, всё оказалось в папке temp и нет версии full. Может это из-за того, что видео у меня было без звука, весело оно 1,429,246 мб!
И потом мкв, не люблю я этот формат! Лучше avi!
А так качество, конечно супер, правда всё-равно тормозит!

сообщение оставил Endymion , 21 августа 2007, 21:48
Цитата (Yukiya- Ayase @ 21 августа 2007, 20:33)
И потом мкв, не люблю я этот формат!

есть возможность сделать вместо mkv - mp4. Но без убедительной причины этим никто заниматься не будет. А если хочешь avi - кодируй в DivX.
Цитата (Yukiya- Ayase @ 21 августа 2007, 20:33)
правда всё-равно тормозит

Что именно у тебя тормозит? Вдео после кодинга? Если так, то тут 2 варианта:
1) у тебя слабый комп. который не тянет нормальное проигрывание этого кодека
2) твое видео заранее было тормозное или у тебя какой-то глючный ависинт.

сообщение оставил Yukiya- Ayase , 21 августа 2007, 21:57
Цитата
твое видео заранее было тормозное


Вот, это правда, в не сжатом состоянии оно у меня тормозит при проигровании!
кстати необязательно кодировать в DivX, чтобы получить avi, у меня и в X264 avi получается.

сообщение оставил Endymion , 21 августа 2007, 22:07
Цитата (Yukiya- Ayase @ 21 августа 2007, 20:57)
кстати необязательно кодировать в DivX, чтобы получить avi, у меня и в X264 avi получается

Ох ну спасибо тебе огромное, что ты мне непросвещенному глаза на эту великую истину открыл!
Объяснять почему mkv у меня настроения нет. Скажу только что у тебя другой энкодер, в ВД(М) ты можешь сделать AVC в avi, но это гуано. Впрочем, если тебе больше нравится - не отговариваю. Пользуйся на здоровье. Вопрос закрыт.



сообщение оставил Arm_Turbo , 22 августа 2007, 00:24
Чего то у меня не сработало. Точнее все честно дошло до конца, но при этом в папке out пусто, а в папке temp лежат такие файлы: пустой audio.wav и video.mkv без звука....
сообщение оставил Arm_Turbo , 22 августа 2007, 00:26
Вот такая вот штука случилась:

Scanning for Audio Stream...
ERROR: Can't find audio stream!
=== Превью версия ===
--------------------------------
--- Кодирую звук (превью)... ---
--------------------------------

Открыть пытался MP4 файл. При этом если беру твой input.avs файл с помощью Virtual DUB, то он звуковую дорожку видит.



сообщение оставил Endymion , 22 августа 2007, 00:33
Arm_Turbo
Странно что там какой-то audio.wav появился. Звук должен браться из контейнера и сразу кодиться в AAC. Может что-то там не так прикручено...
ERROR: Can't find audio stream!
Ну это Бипайп не получил звук из ависинта. Или получил, но не передал поток энкодеру. Думаю из-за ошибки командлайна.

Надо ззерга ждать. Должно быть что-то похожее на это:

Scanning for Audio Stream...
Found Audio Stream
Channels=2, BitsPerSample=16, SampleRate=44100Hz
Writing Header...
Writing Data...
34,580439274849%        Processed 73 seconds...



сообщение оставил zzerg , 22 августа 2007, 17:50
Цитата (Yukiya- Ayase @ 21 августа 2007, 19:33)
Только вот в папке out у меня ничего не было, странно, всё оказалось в папке temp и нет версии full. Может это из-за того, что видео у меня было без звука, весело оно 1,429,246 мб!
И потом мкв, не люблю я этот формат! Лучше avi!
А так качество, конечно супер, правда всё-равно тормозит!
Ага, если исходник без звука, то всё нафиг обламывается. я про это думаю.

Никаких avi я делать не буду. Во-первых, принципиально. Во-вторых, там другие программы нужны. В-третьих, это фигня архаичная. Вот mp4 в принципе можно было бы... Но я люблю матрёшку при прочих равных.

Цитата (Arm_Turbo @ 21 августа 2007, 22:26)
Вот такая вот штука случилась:

Scanning for Audio Stream...
ERROR: Can't find audio stream!
=== Превью версия ===

Открыть пытался MP4 файл. При этом если беру твой input.avs файл с помощью Virtual DUB, то он звуковую дорожку видит.
Чесслово, я не знаю, в чём проблема. Звуковая дорожка берётся из input.avs и bepipe'ом сохраняется в audio.wav (так что он там правильно появился). А так вроде и bepipe запустился, но звука не нашёл... А что за файлик, может я у себя поковыряю?

сообщение оставил Endymion , 22 августа 2007, 18:03
Цитата (zzerg @ 22 августа 2007, 16:50)
Звуковая дорожка берётся из input.avs и bepipe'ом сохраняется в audio.wav

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

сообщение оставил zzerg , 22 августа 2007, 18:09
Цитата (Endymion @ 22 августа 2007, 16:03)
Цитата (zzerg @ 22 августа 2007, 16:50)
Звуковая дорожка берётся из input.avs и bepipe'ом сохраняется в audio.wav
эээ а зачем? Бипайп должен напрямую передавать поток энкодеру без сохранения в ВАВы

А я всё-таки двупроходно звук кодирую, чтобы битрейт выдержать. Вроде если профайл явно указать НЕ, то приемлемо получается... ещё потестить надо, конечно.
сообщение оставил Endymion , 22 августа 2007, 18:12
Цитата (zzerg @ 22 августа 2007, 17:09)
А я всё-таки двупроходно звук кодирую, чтобы битрейт выдержать. Вроде если профайл явно указать НЕ, то приемлемо получается... ещё потестить надо, конечно.

Так ты можешь хоть десятипроходно кодить (образно говоря). Я имею ввиду зачем его в вавку сохранять, если оно его на лету скармливать энкодеру может.

сообщение оставил Endymion , 22 августа 2007, 18:19
Туплю. Тогда зачем тебе 2 прохода, если оно и в один но с переменным битрейтом лучше выходит? Вариабельность битрейта при постоянном профайле там небольшая - на свой размер 1.5 метра в минуту выйдешь без особых погрешностей

HE Q=0.1  это ~31kbps
HEv2 Q=0.155 это ~31kbps

Для превью - самое оно. можно немного меньше Q давать

Кстати полную версию нельзя заскриптовывать под 900kbps. Вдруг у кого-то она HDTV или ему наплевать на условность 8 метров/минута? Надо тогда ее тоже через скрипт пропускать, чтобы он к определенному разрешению приводил.



сообщение оставил zzerg , 22 августа 2007, 18:33
я без тестирования так не хочу пока что :(
сообщение оставил Endymion , 23 августа 2007, 02:58
zzerg
Я тут потестил кодинг превью с разными битрейтами. Фигня все эти 1.5 метра на минуту. Где бы ты это не вычитал, имхо неправильно - мало. 2 метра на минуту - самое оно. На видео 200 kbps, на все остальное - сколько там остается. Клип 4 минуты будет 8 метров - самое оно!

сообщение оставил Arm_Turbo , 23 августа 2007, 08:10
Я кодил файлик Souls of the Night - последний клип на AMV News. Можешь проверить у себя в чем проблема.

И да. Я очень заинтересован, что бы это приспособление работало. Это заманчиво делать превью двойным кликом ... обычно я геморюсь очень долго.

И вопрос ко всем: а есть возможность скриншот из консоли делать зная номер кадра?



сообщение оставил zzerg , 23 августа 2007, 18:35
Цитата (Arm_Turbo @ 23 августа 2007, 06:10)
Я кодил файлик Souls of the Night - последний клип на AMV News. Можешь проверить у себя в чем проблема.

И вопрос ко всем: а есть возможность скриншот из консоли делать зная номер кадра?

Постараюсь сегодня проверить.

Есть подозрение, что можно ависинтом или виртуалдубом делать скриншот -- а они поддаются консольной автоматизации обычно. (Обычно ограничивают возможности bat-файлов под виндой). Уточню ещё %)

сообщение оставил zzerg , 23 августа 2007, 20:23
Arm_Turbo

По поводу мп4. Как выяснилось, у меня самого была аналогичная проблема. То есть файл играется в МедиаПлеереКлассик (MPC), но при этом через ДиректШоуСорс из ависинта не открывается. (То есть мой инпут.авс не окрывался ничем.) Попытки сделать рендер в гСпоте, Графедите и т.п. также проваливались. Причём ругань шла и про видео, и про аудио, вроде бы.

Был сделан вывод, что скорее всего в системе нету сплиттера, а MPC юзает свой встроенный сплиттер mp4. Ну или ффдшоу что-то не такой.
По этому поводу я снёс ффдшоу, и поставил CCCP (не весь, а ффдшоу из него и Хаали сплиттер). Соответственно, теперь у меня эти mp4 смотрятся, рендерятся, и (!) работают с тупым приспособлением.

НО! Если у тебя ависинт открывается в ВиртуалДубе, но не работает приспособление, то это выглядит очень, очень странно.
Возможно ещё, что, у тебя просто нет ДиректХ кодеков (но при этом есть VfW, что прикольно). Но, блин, это не сходится!

ЗЗЫ надо добавить что ли в инструкцию пунктик....
ЗЗЗЫ надо было придумать нормальное название для "тупого приспособления"...



сообщение оставил Arm_Turbo , 23 августа 2007, 22:29
Сегодня делал из другого клипа DivX + MP3. Все замечательно отработало. Жалко если на AAC не будет. =(

zzerg easy coding. =)



сообщение оставил Arm_Turbo , 24 августа 2007, 22:47
А там что всего два прохода для x264? Мб лучше 3 сделать?
сообщение оставил Lirinis , 25 августа 2007, 02:31
Цитата (Arm_Turbo @ 23 августа 2007, 08:10)
И вопрос ко всем: а есть возможность скриншот из консоли делать зная номер кадра?

Цитата (zzerg @ 23 августа 2007, 18:35)
Есть подозрение, что можно ависинтом или виртуалдубом делать скриншот

Дубом можно.
bat-файл:
Исходный код
SET vdubpath="C:\VDub\vdub.exe"
SET input="input.avs"
SET output=C:\\Shots
%vdubpath% /i screenshots2.syl %input% %output%

Файл со скриптом Дуба (у меня screenshots2.syl):
Исходный код
declare input;
declare output;
input = VirtualDub.params[0];
output = VirtualDub.params[1];

VirtualDub.Open(input);

VirtualDub.subset.Clear();

VirtualDub.subset.AddFrame(100,1);
VirtualDub.subset.AddFrame(200,1);
VirtualDub.subset.AddFrame(300,1);

VirtualDub.SaveImageSequence(output, ".jpeg", 4, 2, 70);
VirtualDub.Close();

Сохраняются 100-й, 200-й и 300-й кадры. Авишка с хвидом скушалась отлично, мп4 с h264 не захотела. Надо параметры открытия файла изучить.

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.