Автор |
Сообщение |
Серый1779 ®
Пол: Стаж: 6 лет 1 месяц Сообщений: 3686 Откуда: Украина
|
Справочник по командам eac3to.-
-core
Извлечь ядро из DTS-HD.
Ядром может быть:
- DTS, DTS-ES или DTS-96/24 в случае DTS-HD Master Audio
- DTS, DTS-ES в случае DTS-HD Hi-Res
При извлечении ядра eac3to автоматически:
- меняет данные о нормализации диалога ядра на -31 dB. Выход: дописывать -keepDialnorm.
- пропатчивает ядро до 24-bit в случае исходного DTS-HD 16-bit. Выход: дописывать -dontPatchDts.
Таким образом, чтобы достать ядро DTS-HD и никак его при этом не изменить, нужно прописать:
eac3to input.dtshd output.dts -core -keepdialnorm -dontpatchdts
--А теперь я хочу рассказать здесь об TrueHD. :cool:
Наверняка найдутся те, кто вздумают узнать об выделении AC3 из THD+AC3 именно здесь. Поэтому..
Любой TrueHD на Blu-ray обязан иметь прикрепленный AC3 (т.н. Embedded AC3). Часто этот файл АС3 обзывают ядром, что не совсем верно, т.к. THD самодостаточен, в нём содержится вся информация. АС3 прикрепляют к нему исключительно ради обратной совместимости.
Примеры извлечений:
Достать THD+AC3 (файл *.thd+ac3) из Blu-ray:
eac3to input_BD 1) 3: output.thd+ac3 -keepdialnorm
Достать THD (файл *.thd) из Blu-ray:
eac3to input_BD 1) 3: output.thd -keepdialnorm
Достать Embedded AC3 (файл *.ac3) из Blu-ray:
eac3to input_BD 1) 3: output.ac3 -keepdialnorm
Достать Embedded AC3 из THD+AC3:
eac3to input.thd+ac3 output.ac3 -keepdialnorm
Достать THD из связки THD+AC3:
eac3to input.thd+ac3 output.thd -keepdialnorm
Возможна и обратная операция - получить поток THD+AC3 из THD (что полезно, если THD нужно загнать в TsMuxeR, а Embedded AC3 потерялся):
eac3to input.thd output.thd+ac3
+/-XXXms, -edit=0:00:00,0ms, -silence/-loop
Команды линейного пофреймового редактирования аудиодорожки.
Операции без пересжатия. Можно добавлять/удалять только целое число фреймов аудиопотока. В 48 kHz: один фрейм (E-)АС3 = 32 мс (1536 сэмплов), один фрейм DTS(-HD) = ~10,7 мс (512 сэмплов).
Команды применимы ко всем поддерживаемым форматам аудио, кроме TrueHD - в этом случае поток не будет изменен ни на бит, а значение задержки пропишется в имя файла THD.
По умолчанию при таких операциях eac3to меняет значение нормализации диалога дорожки на -31 dB. Выход: дописывать -keepDialnorm.
-+/-XXXms
Задать начальную задержку
Примеры:
Тут будет добавлено 245/32=7,65 → ближе к 8 → к началу дорожки будет добавлено 8 фреймов АС3, т.е. 8*32=256 мс тишины:
eac3to input.ac3 output.ac3 +245ms -keepdialnorm
Вырезать два начальных фрейма DTS-HD, добавленные при кодировании в DTS-HD MAS:
eac3to input.dtshd output.dtshd -21ms -keepdialnorm
В случае несжатого аудио задержка будет точно такой какая задана. Например при таком декодировании к конечным WAV будет добавлено в точности 111 мс:
eac3to input.dts output.wavs +111ms
--edit=0:00:00,0ms, -silence/-loop
Задать задержку / удалить кусок в определенном месте аудиодорожки.
Строго говоря, отрезки добавляются не в точно установленное время edit=, а после ближайшего конца фрейма.
Примеры:
После момента 0:13:14.150 вставить предшествующие этому моменту два фрейма АС3 (т.к. 60/32 ближе к 2, это 64 мс):
eac3to input.ac3 output.ac3 -edit=0:13:14.150,+60ms -keepdialnorm -loop
После момента 0:13:14.150 вставить тишину длиной в два фрейма АС3:
eac3to input.ac3 output.ac3 -edit=0:13:14.150,+60ms -keepdialnorm -silence
После момента 0:13:14.150 вырезать последующие два фрейма АС3:
eac3to input.ac3 output.ac3 -edit=0:13:14.150,-60ms -keepdialnorm
--Кое-что еще:
1). Крайне не рекомендуется обрабатывать дорожки DTS из Blu-ray (а это можно определить по размеру фрейма: 1024, 2012 и др.) в программе delaycut. Он умеет добавлять фреймы размером только 2013 и 1006 байт (это фрейм дорожек DTS с DVD). Обработка в delaycut может привести к дорожке со смешанным типом фреймов, а это может неблагоприятно сказаться на последующем декодировании / проигрывании.
Есть одно НО:
eac3to can not "create" new silent DTS frames which are needed for delay. Instead eac3to simply repeats the very first frame of the audio track as often as necessary to achieve the wanted delay. Normally a DVD audio track begins silent, so this usually works. If your DVD audio track begins non-silent, then eac3to's way of delaying isn't silent, but results in ugly noise, sadly. If there was a free DTS encoder available, I could solve this, but there isn't. For AC3 I'm using Aften to do the audio delay properly and guaranteed-noise-free. delaycut can do this better, but since it doesn't have a DTS encoder, either, it simply uses a default silent DTS frame - which doesn't have the DTS-ES flag set, of course.
2). Средствами eac3to можно объединять дорожки (опять же - операция без пересжатия, т.е. по-фреймовая).
Объединение работает для всех типов аудио, которые не имеют отдельного заголовка в начале (или в конце). Т.е. команду можно использовать для (E-)AC3, DTS, но, к примеру, нельзя использовать для объединения WAV из-за начального заголовка.
Пример:
eac3to input1.ac3+input2.ac3+input3.ac3 output.ac3
+/-XdB
Изменить уровень сигнала на заданное число dB.
Очевидно, потребовать изменить уровень сигнала можно только для несжатого аудио или в процессе перекодирования, т.к. промежуточной операцией всегда является декодирование.
Пример:
eac3to input.dtshd output.wav -down2 +4dB
-0,1,2,3,4,5
Поменять порядок расположения каналов в многоканальном WAV (маски при этом не трогаются; какие были прописаны, такие и остаются).
Примеры применения: см. описание команд "-down6", "-double7".
О стандартном порядке расположения каналов см. Default Channel Ordering.
Например, стандартный порядок для WAV 5.1 - FL FR FC LF SL SR, т.е.:
ch(0) = FL
ch(1) = FR
ch(2) = FC
ch(3) = LF
ch(4) = SL
ch(5) = SR
-down6
Даунмикс схем 7.1 и 6.1 в 5.1. О корректности: I. 6.1→5.1:
В общем случае, при микшировании должны выполняться следующие условия:
1. BACK_CENTER должен распределяться поровну м/у SIDE_LEFT и SIDE_RIGHT, т.к. они расположены симметрично по отношению к BACK_CENTER.
2. Мощность BC должна сохраняться.
→ половина мощности BC должно приходиться на SL, половина - на SR.
Переходя к нашим матрицам, нужно извлекать квадратный корень, т.к. мощность пропорциональна квадрату коэффициента, т.е.:
SL' = SL + sqrt(0.5)*BC = SL + 0,707*BC
SR' = SR + sqrt(0.5)*BC = SR + 0,707*BC
Другими словами, уровень BC понижается на 10*log(1/0,5)=~3 dB и микшируется с тылами. А т.к. общий уровень SL и SR при этом повышается, то возможно переполнение, а значит и второй проход, в котором eac3to понизит общий уровень.
По этой же матрице работают декодеры ArcSoft, Sonic, Nero. Эту же матрицу желал использовать и madshi.
Всё бы хорошо, но тем не менее eac3to работает при таком преобразовании неверно, а именно - путает каналы местами:
SL' = BC + 0.707*SR
SR' = SL + 0.707*SR
Выход: дописывать -0,1,2,3,5,6,4. II. 7.1→5.1:
Поддерживается даунмикс только из стандартной конфигурации 7.1. Это WAVE_FORMAT_EXTENSIBLE с маской 0x063F (FL FR FC LFE BL BR SL SR).
К слову. WAVE_FORMAT_EXTENSIBLE с маской отличной от 0x063F может взяться при декодировании 2х нестандартных из 7ми возможных схем DTS-HD 7.1. → Подробнее.
Условия, аналогичные тем, что описаны в пункте "6.1→5.1", ведут к такой матрице:
SL' = BL + SL
SR' = BR + SR
В настройках даунмикса 7.1→5.1 по умолчанию в DTS-HD MAS прописана та же матрица микширования, но уровень всех каналов еще понижается на 3 dB. Очевидно, это сделано, чтобы гарантировано избежать переполнения (eac3to борется с переполнением своими средствами). Следствие: если есть нужда перекодировать THD 7.1 в DTS 5.1, то можно разобрать THD на WAVs, полученные WAVs подать на вход DTS-HD M.A.S., собрать стандартную конфигурацию DTS-HD MA 7.1 со стандартной матрицей микширования 7.1->5.1, а затем из полученного DTS-HD MA извлечь ядро, которое и будет необходимый нам DTS 5.1 с уже правильно смикшированными каналами.
По непонятным причинам madshi решил использовать в eac3to другую матрицу:
SL' = BL + 0.707*SL
SR' = BR + 0.707*SR
Таким образом при даунмиксе 7.1→5.1 в eac3to теряется половина мощности SL и SR. Вывод:
Микширования 7.1→5.1 в eac3to лучше избегать.
Правильное микширование 6.1→5.1 в eac3to:
eac3to input.wav output.wavs -0,1,2,3,5,6,4 -down6
Помимо этого для микширования схем 6.1 и 7.1 в 5.1 можно:
- воспользоваться BeHappy. Скрипт.
- воспользоваться аудиоредактором и смешать каналы вручную.
-down2, -phaseShift, -mixlfe
Даунмикс из конфигурации 5.1, 6.1 или 7.1 в 2.0 Dolby Pro Logic II (DPLII).
В случае исходных конфигураций 7.1 и 6.1 eac3to автоматически выполнит промежуточный "Surround Mix", см. "-down6".
Дополнительно можно добавить:
-mixlfe
Включить в микс канал низких частот. Dolby Inc. этого делать не рекомендует:
There are other concerns when adding an LFE signal to the mix. If the LFE is simply redistributed within the other channels of the mix, they will usually be subject to some low-frequency bandpass filtering. This filtering causes phase shifts of the LFE signal. When they are acoustically added within a room, these phase shifts are fairly subtle and often go unnoticed. However, when they are electronically added together with the five main channels in the encoder, they may produce less than desirable results at certain frequencies. For this reason, it is recommended that the LFE signal not be used in a Dolby Pro Logic II downmix unless it contains unique information that is not repeated in any of the five main channels.
-phaseShift
Сдвинуть каналы SIDE_LEFT и SIDE_RIGHT по фазе на 90 градусов. В некоторых случаях это позволяет повысить качество микса DPLII. Проверяется это экспериментальным путем (иногда это хорошо заметно и в аудиоредакторе - один канал может заметно отличаться от другого).
Если исходник - дорожка (E-)AC3, то в команде как правило нет необходимости, т.к. сдвиг тылов должен был быть осуществлен на стадии кодирования. В енкодере это галка "90 Degree phase shift", Dolby inc. рекомендует ее выставлять - так и поступают большинство людей, кодирующих дорожки.
Примеры:
eac3to input.dts output.wav -down2 -normalize
eac3to input.wav output.wav -down2 -phaseshift
eac3to input61.dts output.wav -down2 -0,1,2,3,5,6,4
-
Подробнее о реализации DPLII
Вопрос, конечно, в матрице микширования, в выборе коэффициентов. Какие они на самом деле знает только лицензионный кодировщик Dolby Laboratories Inc., а он есть только в железе и в продукте от Minnetonka - "SurCode for Dolby Pro Logic II". Никаких спецификаций в открытом доступе нет.
В eac3to используется следующая матрица:
Lt = 0.500*L + 0.3535*C + 0.433*SL + 0.250*SR
Rt = 0.500*R + 0.3535*C - 0.250*SL - 0.433*SR
Та же матрица, но уже нормированная, используется и в BeHappy:
Lt = 0.3254*L + 0.2301*C + 0.2818*SL + 0.1627*SR
Rt = 0.3254*R + 0.2301*C - 0.1627*SL - 0.2818*SR
"Нормированная" означает, что сумма коэф.=1, это позволяет гарантировано избежать переполнения (eac3to борется с переполнением своими средствами).
BeHappy позволяет править матрицу микширования вручную, файл "DownMix.extension" можно отредактировать в любом текстовом редакторе.
Azid использует такую же матрицу, но с инвертированными тылами:
Lt = 0.3254*L + 0.2301*C - 0.2818*SL - 0.1627*SR
Rt = 0.3254*R + 0.2301*C + 0.1627*SL + 0.2818*SR
А история возникновения матриц такова:
Впервые она была предложена в далеком 2002 году человеком с ником frank. Ссылаясь на кучу опытов с железом, он утверждал, что SL должен кодироваться в L' с громкостью в два раза большей, чем SR (для R' наоборот). Отсюда и соответствующие коэффициенты. → Подробнее.
Затем, почти ровно ч/з год после frank'а, некто bleo предложил свой, улучшенный вариант матрицы (опять же основываясь на экспериментах). По его мнению, разница в громкости м/у SL и SR должна быть не в два, а в три раза. → Подробнее.
Декодеров, использующих матрицу frank'а, не сохранилось (как минимум, матрицу использовал DSPGuru в одной из промежуточных версий BeSweet'а. Именно BeSweet'а - azid к тому моменту декодировать в режиме DPLII не умел). Матрицу bleo подхватил Midas и интегрировал поддержку DPLII в свой декодер azid 1.9.
Разработка azid'а прекратилась в том же 2003м (версия 1.9 - последняя), но всеобщий прогресс стоять на месте не остался. Проводя эксперименты еще и еще (год уже 2006), было вынесено заключение: тылы нужно инвертировать. Оставить матрицу bleo (та, что в azid), но поменять знаки SL и SR. → Подробнее: link1, link2.
Таким образом и пришли к той матрице, которая внедрена в BeHappy и eac3to. Недоверия к ней быть не должно и лучше пользоваться именно ей, чем исходной матрицей bleo в azid (но сложно услышать различия).
Еще позднее, в начале года 2011 был взломан и пущен в свободное плавание профессиональный кодировщик DPLII от Minnetonka - SurCode for Dolby-Pro Logic II. Теперешние перфекционисты вполне могут воспользоваться именно им.
-downX
Понизить разрядность PCM (контейнер на выбор: WAV/W64/RF64) до необходимой. Используется TPDF dithering.
В общем случае -downX, где X - желаемая битность (integer). X находится в области 8—32, включая крайние значения. Некоторые факты:
1). При декодировании из форматов сжатия без потерь, lossless (TrueHD, DTS-HD MA, FLAC) использовать -downX не нужно, в противном случае мы рискуем не получить на выходе исходный PCM. Для правильного декодирования из lossless достаточно лишь указать нужный декодер. Использовать промежуточные преобразования не нужно.
Примеры правильного декодирования:
eac3to input.dtshd output.wavs -sonic
eac3to input.thd output.wavs -libav
eac3to input.flac output.wavs
2). Форматы сжатия с потерями, lossy (DTS, AC3, E-AC3, AAC, MP123) eac3to по умолчанию декодирует в 24-bit integer PCM, что есть правильно.
- Декодирование с помощью libav всегда производится в 64-bit float point. Затем eac3to по умолчанию понижает битность до 24-bit integer. Командой -downX можно указать желаемую битность самому, т.е., если дописать -down16, то eac3to понизит разрядность PCM до 16-bit integer по схеме 64→16. Естественно, потери при это будут несколько больше, чем по умолчанию (64→24).
- Декодирование с помощью ArcSoft, Sonic, Nero производится в 24-bit integer. Все внутренние преобразования и сам процесс декодирования происходит в фильтре DirectShow, на выходе мы имеем уже 24-bit integer.
Если дописать -down16, то мы понизим битность по схеме 24→16. Потери при таком преобразовании будут более существенны, чем при 64→16.
3). Все внутренние преобразования (ресэмплинг, перетяжка, микс) eac3to производит в 64-bit float point. Командой -downX можно понизить битность до желаемой. По умолчанию eac3to понижает разрядность до 24-bit integer, что опять же есть правильно. Вывод: Команду -downX применять без особых на то причин не нужно.
-slowdown, -speedup, -23.976, -changeTo24.000, -r8brain
Растянуть / сжать аудиодорожку по времени без сохранения высоты тона (а тянуть с сохранением тональности практически никогда и не требуется).
Поскольку перетяжка без сохранения тона = ресэмплинг с возвращением в заголовок WAV исходной частоты, то см. SRC Comparisons. → Пример интерпретации результатов на русском языке.
Очевидно, качеством ресэмплера (с любым из двух) eac3to превосходит многие аудиоредакторы и перетягивать дорожки рекомендуется именно с помощью eac3to.
Можно воспользоваться одним из двух ресэмплеров: Ресэмплер №1. SSRC (Shibata Sample Rate Converter). Я настоятельно рекомендую использовать именно этот ресэмплер.
В eac3to используется по умолчанию. Исходный SSRC был немного оптимизирован by madshi:
I tweaked the SSRC parameters a bit
Примеры использования:
Перетянуть так, как если бы меняли FPS видео с 23.976 на 24.000:
eac3to input.dts output.wavs -changeto24.000 -23.976 -no2ndpass
Вместо 24.000 и 23.976 могут стоять некоторые другие цифры: 23.976, 24.000, 24.975, 25.000, 29.970, 30.000, 47.962, 48.000, 50.000, 59.940, 60.000.
Частные случаи:
[-changeto23.976 -25.000] можно заменить командой -slowdown (перетяжка PAL→NTSC):
eac3to input.wav output.wavs -slowdown -no2ndpass
[-changeto25.000 -23.976] можно заменить командой -speedup (перетяжка NTSC→PAL):
eac3to input.dts output.wavs -speedup -no2ndpass
Ресэмплер №2. r8brain.
Использовался по умолчанию до eac3to v.2.68 (включительно).
В версиях eac3to старше 2.68 ключ -r8brain не позволяет создавать WAV большого размера.
Примеры использования:
В eac3to 3.24:
eac3to input.dts output.wavs -slowdown -r8brain -no2ndpass
В eac3to 2.68:
eac3to input.dts output.wavs -slowdown
--Помимо того, что команды используются для перетяжки звуковой дорожки, ими можно менять значение FPS при муксинге видео в MKV. К примеру, команда:
eac3to BD_Path 1) 2: video.mkv -speedup
пропишет в заголовок MKV значение FPS=25.000.
-resampleToX
Изменить частоту дискретизации аудио.
Перетяжка аудио без сохранения тона и ресэмплинг - операции родственные, поэтому см. спойлер выше.
Можно воспользоваться одним из двух ресэмплеров: SSRC (по умолчанию) или r8brain. Я настоятельно рекомендую использовать SSRC.
Доступные значения частоты дискретизации (SSRC): 192000, 98000, 96000, 48000, 44100, 32000, 24000, 22050.
Примеры:
eac3to input.mp3 output.wav -resampleto48000 -slowdown -no2ndpass
eac3to input.dts output.wavs -resampleto44100 -down2 -normalize
eac3to input.dtshd output.wavs -resampleto96000 -no2ndpass
-16 / -24, -8, -48000, -little / -big, -override
Эти команды нужны для превращений типа RAW, LPCM → WAV
eac3to часто сам может определить параметры поданного на вход RAW/PCM. Но если же ему это сделать не удастся или же есть желание вручную прописать эти параметры, то понадобятся команды:
-8
указать число каналов, от 1 до 8
-16 / -24
указать разрядность
-96000 / -44100 / -48000 / -192000
указать частоту дискретизации
-little / -big
указать порядок следования байтов
-override
принудительно прописать свой заголовок. С этой командой будет пропущена стадия, когда eac3to сам пытается определить параметры поданного аудио. В заголовок будет прописано именно то, что было указано вручную.
Пример использования:
Зная об LPCM треке такое: LPCM 5.1 / 16-bit / 48 kHz
можно получить WAV с соответствующими параметрами или сразу же перекодировать LPCM во FLAC:
eac3to input.pcm output.wav -override -16 -48000 -6 -little
eac3to input.pcm output.flac -override -16 -48000 -6 -little
-Для справки:
1). Контейнер WAV может содержать в себе любой формат аудио, но как правило говоря о WAV мы имеем ввиду несжатое аудио - WAV, содержащий PCM. От самого PCM WAV отличается наличием заголовка, где прописана информация о разрядности звука, частота его дискретизации, число каналов и пр.
2). Не стоит (ибо непрактично) извлекать LPCM как файл *.pcm. Из-за отсутствия заголовка дальнейшая работа с ним может быть затруднительна. LPCM лучше демуксить в контейнер WAV или W64. Контейнер всегда можно поменять:
eac3to input.wav output.w64
eac3to input.w64 output.wav
К слову. tsMuxeR не берет на вход файлы WAV > 4Gb, но берет W64 - его размер может быть очень большим.
3). eac3to по умолчанию муксит PCM в WAV с заголовком WAVE_FORMAT_EXTENSIBLE, прописывая стандартные маски.
Как следствие: не всегда, извлекая дорожку по пути "Source→PCM→WAV" мы получим ту же конфигурацию каналов, как если извлекать по пути "Source→WAV". Это еще раз подтверждает: извлекайте LPCM сразу в WAV или W64.
Пример.
Имеем LPCM 2.1 в составе Blu-ray.
- извлекаем его сразу в WAV. eac3to видит, что в исходном звуке имеются каналы FL, FR и LFE и прописывает соответствующую маску в WAVE_FORMAT_EXTENSIBLE - 0x000B (FL FR LF). Всё в порядке.
- извлекаем его сначала в *.pcm, потом муксим в WAV. eac3to не знает какие каналы присутствовали в исходном звуке (знает только, что каналов три), а потому прописывает стандартную для трехканального WAVE_FORMAT_EXTENSIBLE маску - 0x000B (FL FR FC). Как видим, канал LF вдруг превратился в центральный FС.
-keepDialnorm
Сохранить нормализацию диалога дорожки.
По умолчанию eac3to:
- при демуксе (E-)AC3, DTS(-HD) и TrueHD
- при выставлении задержек в (E-)AC3, DTS(-HD)
- при извлечении ядра из DTS-HD
- при извлечении AC3 из THD+AC3
меняет значение нормализации диалога (DialogNormalization, DN) дорожки на -31 dB.
Команда -keepDialnorm нужна, если мы собираемся сохранить исходное значение нормализации диалога дорожки.
Везде по тексту при использовании терминов "стирает / зануляет данные о нормализации диалога" имеется ввиду то, что eac3to меняет значение DN на -31 dB (в случае DTS в терминах eac3to это 0 dB, но эта цифра в инфо не показывается). "Зануляет" используется в том смысле, что eac3to выставляет такой DN, что декодер ни насколько не будет понижать уровень сигнала.
Примеры использования:
eac3to input.mkv 3: output.ac3 -keepdialnorm
eac3to BD_Path 1) 2: output.ac3 -keepdialnorm
eac3to BD_Path 1) -demux -keepdialnorm
eac3to input.dtshd output.dts -core -keepdialnorm
eac3to input.thd+ac3 output.ac3 -keepdialnorm
eac3to input.dts output.dts -edit=0:01:03.120,+140ms -keepdialnorm
eac3to input.ac3 output.ac3 +96ms -keepdialnorm
Важные подробности:
1). Нельзя использовать -keepDialnorm при операциях декодирования! В противном случае декодером может быть (а может и не быть - зависит от декодера) применено занижение уровня сигнала в соответствии с DN. Для наших целей такое декодирование недопустимо (а допустимо оно лишь при проигрывании дорожки, при просмотре фильма).
2). При работе с DTS-HD особенно важно прописывать -keepDialnorm, т.к. иначе eac3to поменяет значение DN на -31 dB, но только понарошку. На самом деле исходная нормализация диалога останется и будет применена при случае декодером ArcSoft. В случае DTS-HD поменять данные о DN средствами eac3to нельзя, т.к. полная спецификация формата DTS-HD еще недоступна, а при разработке соответствующего алгоритма в eac3to madshi действовал методом тыка. По всему очевидно, что он где-то ошибся.
3). Ссылаясь на соответствующие спецификации:
AC3 spec: The dialnorm value tells us how much headroom there is between 100% volume and speech volume.
DTS spec: dialnorm value tells us how much the decoder should lower volume.
madshi решил по-разному обозначать DN для дорожек DTS и AC3. Например, -4 dB DTS, но -27 dB AC3 - в обоих случаях это информация декодеру понизить громкость на 4 dB.
4). Чтобы переписать значение DN на -31 dB достаточно пропустить дорожку ч/з eac3to, например:
eac3to input.ac3 output.ac3
-decodeHdcd
Декодировать HDCD (16 → 20 bit)
-demux
Демукс всех потоков из Blu-ray / HD DVD, из контейнеров EVO/VOB/(M2)TS и MKV.
Из MKV можно выудить не всё, а только те дорожки, работу с которыми eac3to поддерживает (см. changelog.txt, Ctrl+F) Eac3to при демуксе автоматически:
1). Проставляет задержки (delay), прописанные в контейнере, непосредственно в аудио-поток. В случае TrueHD eac3to этого делать не умеет - значение задержки прописывается в имя файла.
Не хотите? Пропишите в опциях обратное значение. Например, если дорожка сдвинута на 89мс вперед, пропишите:
eac3to input output -89ms
дорожка не сдвинется ни на миллисекунду.
2). Убирает флаг "pulldown" из H264/VC-1/MPEG2.
Не хотите? См. "-keepPulldown".
3). Убирает флаг "full range" из H264.
Не хотите? См. "-keepFullRange".
4). Меняет значение нормализации диалога в аудиодорожках (E-)AC3 и DTS(-HD) на -31 dB.
Не хотите? См. "-keepDialnorm".
5). Перекодирует FLAC с настройками на макс. сжатие. По-другому eac3to извлекать FLAC из MKV не умеет.
6). 1920x1088 → 1920x1080 для H264. → Объяснение.
7). Удаляет "Filler Data" из дорожки H264.
"Filler Data" - это ненужные декодеру пустышки. Эту же информацию удаляют муксеры MKVmerge и Haali Matroska Muxer, порой это может значительно сэкономить место.
Немного объяснений
The filler data is just there to achieve CBR or some other stupid aims. So there's no reason to leave it in the stream. It's like zero padded DTS files. No reason really to keep it in the stream. That's why it gets removed by the MKV muxing process.
..........
Filler data is by design and by h264 specification useless for decoders. So why keep it in the stream? Removing it from the stream is in no way "destroying" the stream. It's more like "cleaning up the stream". I don't see you complaining about eac3to removing the zero padding of DTS streams. So why are you complaining about removing useless filler data from h264 streams? The only effect it has is saving space. To my best knowledge there is no other (positive or negative) effect of removing the filler data.
Filler RBSP is totally useless in most real situations. Filler is required for CBR HRD, however. Some notes: 1) Filler is usually applied with filler SEI, not filler RBSP.
2) Filler is needed for CBR mux situations, such as a cable television mux or any other transmission line where the speed is an absolutely constant frequency. Of course, it can easily be added by the muxer or the transmitter. There is no reason that filler SEIs should ever be on a Blu-ray, as Blu-rays use VBR HRD.
8). Удаляет "Sequence End Code". Служебная информация, которую, опять же, удаляют муксеры MKVmerge и Haali Matroska Muxer.
9). Чинит поврежденные (E-)AC3, DTS, AAC и MP123, если возможно.
10). Борется с задержками, связанными с gaps/overlaps. Взяться gaps/overlaps могут из поврежденного исходника (как частный и распространенный случай - HDTV) или из Blu-ray со структурой Seamless Branching.
Задержки не могут быть пофиксены в случае TrueHD:
If you demux/extract the THD data first and convert it to WAVs or FLAC later, you'll get a "lossless check failed" warning for every seamless branch. That is to be expected. You should have gotten a warning from eac3to, though, when extracting the THD track in the first place. It's not a good idea to extract THD tracks from seamless branching Blu-Rays. Audio and video will drift out of sync, because eac3to can't fix the audio overlaps with THD tracks, when demuxing them. You should convert to FLAC/WAVs directly from the original Blu-Ray structure. Then those "lossless check failed" warnings should go away and audio and video will stay in sync.
Поэтому чтобы качественно (с учетом всех задержек) извлечь THD из Blu-ray со структурой Seamless Branching нужно одновременно производить декодирование дорожки:
eac3to BD_Path 1) 3: from_THD.wavs -libav
при этом eac3to расставит нужные задержки уже в WAV.
В противном случае, если сначала излечь THD (или THD+AC3) и только потом декодировать его - мы имеем шанс напороться на значительный рассинхрон.
-keepPulldown, -stripPulldown
-keepPulldown - сохранить пулдаун флаг.
Почти всегда флаг сохранять не требуется.
-
Pulldown can be removed from all 3 supported video codecs (MPEG2, VC-1 and h264). And the performance of the pulldown removal is significantly faster compared to the original tools. Furthermore pulldown removal is now mostly automatically activated by default, even if you only demux a video track. Here's when it's activated and when not: (1) h264: pulldown removal is always activated by default.
(2) VC-1: pulldown removal is always activated by default.
(3) MPEG2: pulldown removal is activated by default only for EVO and M2TS sources.
Most MPEG2 TV broadcasts and also most DVDs don't have a reliable pulldown pattern. As a result they work best if you don't remove the pulldown at all. Just keep them at 60i. If you're sure that your source has a reliable pulldown pattern you can force removal of pulldown - but then better check if audio is in sync with the final video/audio files.
-seekToIFrames
Существует баг в Haali Matroska Muxer. Некоторые (примеров очень немного) дорожки H264 не могут быть им обработаны и, как следствие, замуксены в MKV с помощью eac3to.
В таких случаях:
log eac3to
eac3to v3.24
command line: eac3to test.m2ts 1: test.mkv
------------------------------------------------------------------------------
M2TS, 1 video track, 1 audio track, 0:00:21, 60i /1.001
1: h264/AVC, 1080i60 /1.001 (16:9)
2: AC3, 2.0 channels, 256kbps, 48khz
[v01] Extracting video track number 1...
[v01] Muxing video to Matroska...
Unfortunately the Haali Muxer cannot handle this source file. <ERROR>
It doesn't contain enough seek/recovery points. <ERROR>
The "-seekToIFrames" option may work around that.
However, using this option may result in artifacts when seeking.
Aborted at file position 35651584. <ERROR>
Для преодоления этого можно:
1). Воспользоваться командой -seekToIFrames, но в результате такой операции могут появиться кратковременные артефакты изображения при навигации/перемотке.
This new switch works only for h264 movies and it's only meant to be used for h264 movies where muxing to MKV hangs (which should be rare). You can also try using this switch for movies which have a very bad seeking behaviour. This switch should improve seeking, but it does so by setting seek points to frames which might not be meant to be used as seek points. So it's theoretically possible that you'll get some image corruption for a short time after seeking. So use the switch on your own risk!
2). Воспользоваться другим муксером. Например MKVmerge.
-check, -test
-check
проверить на ошибки. Команда применима ко всем поддерживаемым форматам. Например, в случае дорожек DTS(-ES) и (E-)AC3 eac3to проверяет каждый фрейм на наличие ошибок CRC.
-test
проверить укомплектованность eac3to, наличие необходимых внешних фильтров:
eac3to -test
eac3to v3.24
command line: eac3to -test
------------------------------------------------------------------------------
eac3to (v3.24) is up to date
Nero Audio Decoder (Nero 7) works fine
ArcSoft DTS Decoder (1.1.0.7) works fine
Sonic Audio Decoder (4.3.0.169) works fine
Haali Matroska Muxer (2010-11-07) is installed
There's a new version (2010-11-21) available
http://haali.net/mkv
Nero AAC Encoder (1.5.4.0) is up to date
Surcode DTS Encoder doesn't seem to be installed
http://www.surcode.com
MkvToolnix (4.4.0.0, release version) is up to date
-lowPriority, -shutdown
-lowPriority
назначить низкий приоритет процессу -shutdown
выключить компьютер по окончании работы eac3to. У многих (в т.ч. у меня) команда не работает.
-
|
|
Текущее время: 15-Дек 14:57
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы не можете скачивать файлы
|
|