Форум: ТЕХНИЧЕСКАЯ ЧАСТЬ Тема: Что можно сделать с Nero AVC (H.264) автор: Esc сообщение оставил Esc , 14 ноября 2005, 08:49
На статью сия информация не потянет. Решил написать просто пост.Всё большую популярность среди рипперов и фансабберов приобретает кодек Nero AVC. В то время как качество у него и правда очень хорошее, для клипмейкеров данный кодек - сущее наказание. Дело в том, что он принципиально не ложится в avi. А следовательно мало куда засовывается на обработку. Но оказывается, что в ави его таки можно уложить. Просто нужно при этом слегка обработать напильником. Если вы нарвались на AVC, то он наверняка в mkv. Как убедиться, что это именно он? Ну например с помощью утилиты mkvinfo. Утилита входит в состав набора mkvtools, без которого даже близко подходить к матроске не рекомендуется. О том, чтобы редактировать её с помощью VDM, забудьте и мечтать. Прошли те времена. Итак, с помощью mkvinfo обнаруживаем про свой файл строчку типа такой: Codec ID: V_MPEG4/ISO/AVC Скорее всего она будет в описании трека номер 1. Видео будет первым треком в 99.99% случаев. Через строчку под ней другая очень важная информация, типа такой: Default duration: 41.708ms (23.976 fps for a video track) Если вы видите там цифры типа 23.976, 25, 29.97, короче нормальный фреймрейт, вам повезло. Если цифра странная, ранее не встречавшаяся, то вы скорее всего нарвались на переменный фреймрейт. Соболезную. Как обращаться с ним, я сам пока не знаю. Для вас лекция закончена. Остальные посмотрели и запомнили. Знаете, давайте ещё кое-что запомним. Ещё чуть ниже находим такие параметры как Pixel width: 720 Pixel height: 480 Display width: 873 Display height: 480 Видите, ширина в моём случае имеет два разных значения? Это анаморфный релиз. Он тоже злой для нас. Теперь наконец выковыриваем кино. Утилитой из того же набора. Набираем в командной строке примерно следующее: mkvextract tracks source.mkv 1:result.raw mkvextract - имя утилиты tracks - команда, говорящая ей о том, что мы собираемся экспортировать треки source.mkv - имя файла, из которого вы пытаетесь выцарапать видео 1: - номер трека с видео result.raw - имя файла, куда вы получите своё видео. raw - это придуманный формат, можете на самом деле дать любое разрешение, это неважно. Кстати, параллельно можете вытащить и звук, и субтитры. Mkvextract-у всё равно, сколько ьреков вытаскивать. Хоьт все сразу. Просто добавьте команде ещё агрументов в виде n:filename. А теперь на сцене появляется напильник. Зовут его avc2avi, и я его пришпилил к данному сообщению аттачментом. Как видите, это очень маленький напильник. Типа надфиля. Вызывается он строкой вида: avc2avi -i result.raw -o result.avi -f 23.976 avc2avi - имя утилиты -i result.raw - указывает на файл, подлежащий обработке, тот самый файл, который мы получили на предыдущем этапе. -o result.avi - задаёт имя нашего долгожданного авишника -f 23.976 - задаёт фреймрейт авишника, который мы предусмотрительно подсмотрели в самом начале. Теперь мы получили ави. Заметьте, что у него кодек поменялся с avc на h264. Этот ави всё ещё не виден в Премьере (я не увидел, во всяком случае), но зато его можно открыть в дабе и перекодировать во что-то человеческое!! Попутно вспоминаем об анаморфности релиза. Коль уж всё равно перекодируем, заодно разберёмся и с ним. Если релиз анаморфный, как в моём случае, то он будет иметь разрешение как указано в параметрах Pixel width/height, в то время как нормально изображение будет выглядеть при значениях Display width/height. Можно не думая конвертить к ним, но я не советую. Потому что как правило анаморфное изображение при проигрывании стараются увеличивать. Нужно ли оно такое большое вам? Вы же понимаете, что дополнительные детали не возникнут из воздуха. Так что размер можете на самом деле задать любой. Главное, сохраняйте aspect ratio. В моём случае оно странное и равно приблизительно 1.8. В норме должно быть либо 16:9 (1.77777), либо уж сразу 1.85. Я в таких случаях не ленюсь и делаю проверку кругом. Нахожу кадр с изображением чего-то гарантированно круглого (луны или какого-нибудь логотипа), ресайзю его в различные размеры, и проверяю, при каком аспекте выбранная фигура действительно становится круглой. Рипперы иногда тупят с разрешением, как ни странно. Я лично сталкивался не раз. Чёрт, много вышло. Может всё же оформлю в статью как-нибудь. Как только разберусь с переменным фреймрейтом. сообщение оставил narsil , 02 декабря 2005, 17:26
EscВобщем ленился я долго. С помощью mkvtoolnix, что на страничке акросса рекомендованы выколупал равку, переложил её в ави с помощью приаттаченой утилки, но при попытке открыть её VDM`ом вылетает это: [!] Couldn't locate decompressor for format 'h264' (unknown). VirtualDub requires a Video for Windows (VFW) compatible codec to decompress video. DirectShow codecs, such as those used by Windows Media Player, are not suitable. Only 'Direct stream copy' is available for this video. Ну вобщем понятно, ему нужны Video for Windows кодеки для Н264, c DirectShow даб не работает. VFW H264 кодеков у мя понятно нет и в инете я их не нашел. сообщение оставил Esc , 02 декабря 2005, 19:32
narsilХе-хе. Всё у тебя есть. Для этого идём ffdshow -> VFW configuration -> Decoder -> Codecs -> и меняем для H.264 decoder с disabled на libavcodec. FFDShow рулит форева! сообщение оставил narsil , 02 декабря 2005, 20:23
Escыы.. у мя ffdshow - 20040312, там нет H.264. Пойду где-нить новую надыбаю. Может рекомендуете что? сообщение оставил Esc , 02 декабря 2005, 21:20
narsilРекомендуем < отсюда > утянуть. Например что-нибудь с зелёной звёздочкой. сообщение оставил narsil , 03 декабря 2005, 13:53
EscДомо, все переложил и пережал. Спасибо за рекомендацию с круглыми предметами, очень помогло. Только еще один вопрос: у меня ВДМом звук ворбис отказывался цеплятся, как при direct stream copy так и при попытке пережать его в мп3. Просто при сохранении audio data как была ноль, так и оставалась. Делал все в соответствии со статьей. Пережал сторонней прогой(foobar2000) демуксеный ogg в wav, VDом прицепил его и пережал. сообщение оставил Esc , 05 декабря 2005, 21:03
narsil
Надеюсь, ты сообразил там, что если vorbis ogg цепляешь к файлу, то он уже не может быть сохранён в avi, а только в ogm? сообщение оставил narsil , 05 декабря 2005, 21:38
EscА пнятна.. Те, даже если я пытаюсь сразу огг в мп3 пожать в ВДМ, он меня все равно не поймет.. сообщение оставил Esc , 06 декабря 2005, 01:25
narsilВот тут уж не знаю, чего у тя случилось. Но я бы вообще на твоём месте звук в VDM не жал. Не стоит. Есть много хороших утилит для пережатия звука. В частности BeLight. Жмёт изо всего и во всё. сообщение оставил Saemon Zixel , 25 декабря 2005, 20:15
Кроме Nero AVC есть ещё и открытый x264 кодек (кодер) говорят жмёт быстрее чем от Nero AVC. Из декодеров есть либо ffdshow открытый либо бесплатные версии от комерческих проектов.Вообще кодек обеспечивает гораздо лутшее соотношение обьём/качество правдо для раскадирования требуед не меньше 1 Гц процесора (единственный недостаток). А с Ogg Vorbis звуком превосходящем по качеству mp3 (примерно 80kbs Vorbis = 128kbs mp3) по качеству серьёзно отличается по качеству от видео пожатым Xvid-ом или Divx-ом и звуком мр3. сообщение оставил Esc , 26 декабря 2005, 04:01
Это что ещё за реклама альтернативных технологий?"звуком превосходящем по качеству mp3 по качеству серьёзно отличается по качеству от видео" сообщение оставил Saemon Zixel , 30 декабря 2005, 21:16
Разрешаю тебе на своё усмотрение поправить мой пост.
сообщение оставил maks-lee , 24 августа 2006, 00:17
Esc Хорошо, что ты сделал этот пост, спасибо :)Я утром вынул, h264 из матрешки и весь день пытался перекодить его в ави, нашел avc2avi,на сайте написано было, что можно найти граф. интерфейс, я решил, что это будет проще, чем через команд. строку, нашел. Интерфейс потребовал вторую версию нетфрейма, скачал, но ничего из этого не вышло, ибо не распознался файл...начал копать тут, нашел пост, в котором вроде Video Edit'ом можно, но он мне и вовсе странную вещь написал, что вроде как duration у файла меньше секунды, при весе в 206 mb...наткнулся на этот пост, перекодил... сообщение оставил AyAto , 06 сентября 2006, 18:24
Собственно никак не могу сделать это: ffdshow -> VFW configuration -> Decoder -> Codecs -> и меняем для H.264 decoder с disabled на libavcodec. Я вытащил из матроски видео и в нем написано "Файл H.264" И даб его не хочет жевать, также и просто воспроизводиться файл не торопиться... Ниодин из проигрывателей не понимают его... Помогите плиз, ато я уже весь извелся... с этим видео = ( Добавлено... ffdshow -> VFW configuration -> Decoder -> Codecs -> и меняем для H.264 decoder с disabled на libavcodec. Это уже сделал, но мне кажется что видео нужно переделать в AVI ,но я никак не пойму что нужно делать с post-2-47362-avc2avi Я его запускаю, у мну моргает черное окошко и ничего не происходит... Что мне делать с этим файликом? сообщение оставил maks-lee , 06 сентября 2006, 21:53
1. допустим, что у тебя вынутый из матрешки файл лежит на диске д, там же avc2avi =>2. через командную строку заходим на д 3. D:\>avc2avi -i filename.h264 -o filename.avi -f 23.976 4. в этой же папке, через некоторое время получаем ави сообщение оставил AyAto , 06 сентября 2006, 22:05
1 вопрос...Через какую именно командную строку... Просто никак не найду в mkvtoolnix 1.6.5 командной сроки, можно поподробней? сообщение оставил AyAto , 06 сентября 2006, 23:16
И ещеЧто именно я должен делать с post-2-47362-avc2avi где он должен находиться и нормально ли то что когда я пытаюсь его запустить - моргает окошко и ничего не происходит... сообщение оставил maks-lee , 06 сентября 2006, 23:46
1. Качаешь приаттаченый post-2-47362-avc2avi, называешь его как душе угодно, например - avc2avi 2. Для простоты эксперимента кидаешь avc2avi.exe и файл из матрешки (пусть он будет называться track1), в одну и ту же папку, например просто на диск D: 3. Лезешь в папку X:\WINDOWS\system32 находишь там cmd.exe -> откроется командная строка (x - твой диск с виндой) 4. Переходишь на D: 5. Получаешь строку вида D:\>avc2avi -i track1.h264 -o track1.avi -f 23.976 6. В этой же папк получаешь avi ps в первом посте у Эска ужо все написано. сообщение оставил Esc , 07 сентября 2006, 09:13
Для диких детей пошаговая инструкция.1) Переименовать post-2-47362-avc2avi в avc2avi. (Расширения конечно же дикие дети не видят, значит с ними не заморачиваемся.) 2) Скопировать или перенести этот файл в ту же папку, где лежит нужное видео. 3) Нажать в левом нижнем углу кнопку "Пуск" или как она у вас там называется. В правом нижнем углу появившегося меню должен быть пункт "Запустить..." или как-то так. Должно появиться маленькое окошко с одним полем ввода и тремя кнопками. 4) В поле пишем cmd. Нажимаем Enter. Должно появиться чёрное окошко. На нём есть мигающий курсор. Слева от курсора написан текущий путь. Первая буква пути - текущий диск. 5) Если текущий диск отличается от того, на котором лежат файлы, выполняем операцию перехода на другой диск. Для этого вводим имя диска с двоеточем после него и нажимаем Enter. Пример: Было C:\Documents and Settings\Esc>_ Ввели d: Получили D:\>_ 6) Теперь переходим в нужную папку. Для этого используем команду cd с полным путём. Пример: Было D:\>_ Ввели cd "d:\vault\anime\mahou sensei negima" Получили D:\Vault\Anime\Mahou Sensei Negima>_ Заметьте, что путь написан в кавычках, потому что в нём пробелы. Дикие дети, пишите всегда в кавычках, не прогадаете! 7) Теперь собственно печатаем команду avc2avi -i filename.h264 -o filename.avi -f 23.976 где вместо filename.h264 надо написать имя файла с плохим видео h.264, вместо filename.avi надо написать имя файла (несуществующего), в который запишется хорошее видео, а вместо 23.976 свой фреймрейт. И вообще эта часть уже расписана на первой странице. 8).... 9) PROFIT! сообщение оставил AyAto , 07 сентября 2006, 17:02
Esc, maks-leeПасибки за помощь, все работает!!! Домо аригато!!! сообщение оставил iQ_Spec , 07 сентября 2006, 18:03
Кто б мне вот так after effect обьяснил...
сообщение оставил Esc , 07 сентября 2006, 23:23
Вот бы МНЕ кто так After Effects объснил.
сообщение оставил Esc , 23 октября 2006, 18:24
Кстати для своей "Невесты" мне как раз пришлось возиться с avc. Высянилась одна неприятная подробность. Порезать видео поток не удалось, даже по ключевым кадрам. Даб тут же начинал вопить о страшных ошибках и вообще переставал что-либо показывать. Та же самая проблема возникала, если пытался перекодировать кусок, даже в анкомпрессед.Если у вас случится подобная беда, то решений я нашёл два. Либо перекодировать сразу весь фильм во что-то другое (с начала фильма оно работает нормально). Либо открывать не напрямую, а через AviSynth. И тогда оно позволяет вырезать и перекодировать кусками. Поскольку мне были нужны маленькие кусочки, я их просто фигачил в ункомпресс. сообщение оставил iQ_Spec , 24 октября 2006, 20:33
У меня такой вопрос, зачем вообще пользоваться командной строкой и всяким гемороем связанной с ней..Ведь все делается елементарно, без всяких геморов и заморочек... Если я правильно понял то Matroska это h264... или avc Берем прогу toolnix открываем, кидаем файл, убираем субтитры со звуком, далее видео кодим в Avi с помощью утилитки exctract и все... Все везде играется без проблем, командной строки и прочего, занимает вся процедура менее 30 минут... сообщение оставил Esc , 24 октября 2006, 20:37
iQ_Spec получает один бесплатный интернет за небывалые достижения в области кодирования с помощью утилиты extract. сообщение оставил iQ_Spec , 24 октября 2006, 20:45
EscА где мне мона получить свой интернет.???? А все таки правда в чем проблема перекодить с помощью exctract видео в Avi??? Вроде там даже и думать не надо... А тут такие описания, может постик написать поменьше и попонятнее, а то слишком как то все замутно.. сообщение оставил Esc , 24 октября 2006, 21:18
iQ_SpecМаленькая проблема заключается в том, что формат потока avc не совместим с контейнером avi, утилита extract не занимается процессом под названием "перекодирование", а ты понятия не имеешь о предмете разговора. сообщение оставил iQ_Spec , 25 октября 2006, 23:39
Чет я действительно не вьезжаю... Надо перекодировать файл .mkv в файл .avi , если это все то тогда я вьезжаю, если что-то другое то тогда действительно не вкуриваю... И как это exctract не занимается перекодированием .mkv в .avi с легкостью переводит.. сообщение оставил Скай , 04 декабря 2006, 22:04
Есть файл мкв. В 4сс он идёт как h.264. Это тот самый АВЦ? Чем его декодировать?Прилагается файл с инфой вытянутой mkvinfo. < файлик > сообщение оставил AyAto , 21 января 2007, 01:15
У меня при использовании avc2avi видео из 853х480 становится 704х480...Как это исправить? сообщение оставил Endymion , 21 января 2007, 03:40
Может дело в анаморфности видео? Перечитай 1й пост этой темки. Там что-то было вроде этого:
сообщение оставил Esc , 21 января 2007, 07:01
Я уверен, что Endymion прав.
сообщение оставил AyAto , 21 января 2007, 14:29
Ну я понял что аноморфное видео у меня...Только меня интересует то как с этим бороться, как сделать на выходе чтоб было не Pixel width: 704 и Pixel height: 480 а Display width: 853 и Display height: 480? сообщение оставил Endymion , 21 января 2007, 17:30
Насколько я знаю значения Pixel width и Pixel height это и есть реальное разрешение твоего видео потока. Display width и Display height это то разрешение в котором тебе покажут видео во время проигрывания в формате avc.
P.S. Вторую половину первого поста этой темки всетаки прочитай сообщение оставил AyAto , 21 января 2007, 23:52
все это давно понял... меня интересует как это исправить... Когда я зипихиваю, уже сделанное, AVI c "неправельным" разрешением 704х480 в Video Edit Magic 4.2 и пытаюсь перекодить в правильное 853х480 то изображение искореживается... Интересно ведь даж Waking Hour с разрешением 853х480... Если считать что Pixel width и Pixel height это нормальное разрешение видео, тогда мой конкурсник все ругали напрасно... Однако, я так и не допетрю тогда - 704х480 это вам никакие не 16:9 блин... Помойму я немного запутался... люди помогите... плиз! сообщение оставил Endymion , 22 января 2007, 00:01
Экхм.Значит если у тебя Pixel Width:704 Pixel Height:480 Display Width:853 Display Height:480 то: Чтоб получить нормально выглядящее изображение, тебе его надо сохранить с размером 704 на 396. Это даст соотношение сторон 16 на 9. У тебя (как говорит инфа о файле) оно именно такое должно быть (но оно до него не дотягивает!) Сохранить размер по вертикали 480 в твоём случае не удастся потому что тогда придется расширить его по горизонтали до 853.3333333333333333.....(но размер должен быть числом целым) Когда ты делаешь 853*480 вот именно этой тройки в периоде и не хватает для нормального вида. Как же оно тогда правильно расширяется при показе? А пёс его знает. Готовое изображение 16 на 9 ты не вытянешь потому как его не существует. Оно во время показа расширяется. Причем во время показа тебе его расширяют криво, ибо если увеличить 704*480 до стандарта 16*9 оставляя вертикальную сторону равной 480, горизонтальная сторона должна стать 853.3333..... P.S. можно сохранить и с другим разрешением, максимально приближенном к 480 по вертикали, но тогда придется расширять его по горизонтали. Я несколько раз пробовал и у меня всегда выходило что уменьшенная картинка смотрится красивее чем растянутая. сообщение оставил гость , 22 января 2007, 02:57
У меня такая проблема. При работе avc2avi пишет кучу ошибок: garbage (i_data = 3000000) garbage (i_data = 3000000) garbage (i_data = 3000000) garbage (i_data = 3000000) garbage (i_data = 3000000) garbage (i_data = 3000000) garbage (i_data = 3000000) garbage (i_data = 3000000) garbage (i_data = 3000000) garbage (i_data = 3000000) В конце: avi file written - codec: h264 - size: 16x16 - fps: 25.000 - frames: 845 Получается какая-то фигня размером 16х16 вместо нормального видео. Что может быть не так? как быть??? mkv-файл получил, как и написано, тулзовиной mkvmerge сообщение оставил Esc , 22 января 2007, 04:02
EndymionВ чём смысл писать ответ человеку ДО его поста? Думаешь, его найдёт кто-то? В остальном замечания верные. Пост гостя непонятен и подозрителен. AyAto Я так понимаю, что ты тормозишь на той идее, что видео у тебя одного размера, а тебе нужно другого. И ты ждёшь, что есть какой-то чудесный фокус, от которого видео станет правильного размера. Фокуса нет. Видео делается нужного размера путём ресайза. Лучший ресайз с сохранением чёткости на данный момент - функция LanczosResize в AviSynth-е. сообщение оставил Endymion , 22 января 2007, 04:07
EscПросто я думал посты потрут. Исправляю. гость Для начала ты бы хоть зарегистрировался нормально. Потом то, что ты там нафлудил это конечно хорошо, но что у тебя за исходник? как ты делал? что ты делал? что показал mkvinfo? уверен ли что исходник не битый? а читал ли ты < это >? Какой ты файл mkv получил? (мы тут наоборот из mkv выковыриваем) сообщение оставил AyAto , 22 января 2007, 21:37
Тож пробовал, всеравно искожает... и по разному пробовал 16:9 да да... = (( сообщение оставил Endymion , 22 января 2007, 21:50
AyAtoЗначит забудь про 16*9. Видео у тебя кривое с рождения. Тогда делай как говорил Esc - ищи в видео обьекты которые теоретически должны быть идеально круглые, делай скрин, открывай фотошоп и начинай ресайзать так и эдак, чтоб обьект стал действительно круглый (можно вообщет и любую картинку взять и добиваться её четкости). С каким разрешением получишь норм картинку, с таким и видео сохранишь. Только ресайзай лишь уменьшая размер по вертикали. предлагаю исходный скрин ресайзнуть сначало до размера 704*396 плюс-минус где-то пикселей 10-20 по вертикали, тоесть до размера скажем 704*426. И потом каждый раз постепенно уменьшать на 1-2 пикселя. Тоесть 704*426, 704*425, 704*424... Кстати может еще твой "ресайзер" криво ресайзит? Если и так не найдешь нужного разрешения, то проверь не называется ли твой исходник : "Королевство кривых зеркал" сообщение оставил Esc , 22 января 2007, 22:56
А как размер менял? Если обрезанием, то тогда конечно... сообщение оставил Esc , 22 января 2007, 22:58
Никогда не пытайся делать размеры видео не кратные 4. сообщение оставил Endymion , 22 января 2007, 23:08
Но ведь при просмотре в формате avc картинка выглядит нормально именно при размере 853 на 480. 853 ведь тоже не кратно четырем. В данном случае я говорил не именно на один пиксель, я говорил на 1-2. Попытка как говорится - не пытка. Если прокатит, лишний пиксель всегда можно отрезать. сообщение оставил Esc , 23 января 2007, 00:41
EndymionПотому что оно в этот размер лишь показывается. А Аято-кун собирается своё видео потом ещё и кодировать. Так вот кодировать можно только кратное 4. Иначе придёт Jigoku Shoujo и утащит тебя в адЪ! сообщение оставил Endymion , 23 января 2007, 02:06
EscДопустим выяснили что картинка выглядит нормально с размером 397 точек по вертикали. Ну и достаём видео с таким значением. Потом пихаем в ВДМ, ставим фильтр который отрежет один пиксел сверху или снизу, а дальше кодируем как душа пожелает. AyAto А чем ты ресайз делаешь? Попробуй чтоли один из восьми видов ресайза в ВДМ сообщение оставил Endymion , 23 января 2007, 04:28
EscМожет попробовать побороть переменный фрейм рейт в avc тем же способом, что и в случае с wmv? сообщение оставил Gaurry , 13 октября 2007, 18:10
а как через AviSynth резать? сообщение оставил Endymion , 13 октября 2007, 18:31
В цитате имелось ввиду не резать через ависинт, а открыть через ависинт и резать Дабом. Я так понял. Если будешь резать дабом видео, открытое через ависинт - сохраняй директ стрим копи. Если хочешь ависинтом, то это команда Trim(x,y), где Х - номер кадра, с которого начинаешь резать, а Y - по который. сообщение оставил Gaurry , 13 октября 2007, 18:49
Endymion, а как открыть через ависинт?)
сообщение оставил Endymion , 13 октября 2007, 18:57
Самый простой способ - создать рядом с файлом текстовый документ .avs, в котором написать: DirectShowSource("имяфайла.mkv",audio=false) Если тебе аудио нужно, то audio=false не пиши. С ним просто быстрее работает. P.S. Закругляемся про ависинт в этой теме, пока Эск не пришел :Р сообщение оставил Gaurry , 13 октября 2007, 19:34
Endymion, спасибо. заработало.а первый пост и некоторые посты другие пора оформить в статью. ибо я эту тему хоть и искал (т.к. помнил, что она где-то была), но нашел чисто случайно. p.s. а вот как пользоваться mkvinfo я так и не понял. сообщение оставил Esc , 14 октября 2007, 01:57
да ну. давно есть лучшие методы. сообщение оставил Gaurry , 14 октября 2007, 10:40
Esc, ну тогда бы просветили общественность об этих методах что ли.
|