Главная| Трекер| Поиск| Правила| Форум| Чат |
Операции декодировани
|
Главная » Правила, инструкции, советы, FAQ и т.д. » Правила, инструкции, FAQ-и » Обработка аудио и видео, FAQ-и |
|
Автор | Сообщение |
---|---|
Серый1779 ® Пол: Стаж: 6 лет 1 месяц Сообщений: 3686 Откуда: Украина |
Операции декодирования в eac3to.-
Операции декодированияПоддерживается декодирование в:(1) RAW, (L)PCM (2) WAV (PCM only), W64, RF64, AGM (3) WAVs (multiple mono WAV files, PCM only) При операциях декодирования из lossy с помощью libav как правило следует запрещать eac3to делать второй проход [см. "-no2ndpass"]. - Декодирование АС3, E-AC3AC3Можно воспользоваться одним из двух декодеров:1). -nero. Используется по умолчанию. Известные проблемы: - не игнорируется часть DRC, ответственная за повышение уровня тихого звука (понижение громкого звука игнорируется). Автор программы не смог решить эту проблему. - в редких случаях, при наличии в потоке битых фреймов, декодер может их выкинуть без указания этого в log-файле (→ рассинхрон). 2). -libav. Известные проблемы: - занижение уровня сигнала на ~2,5 dB выше ~17 kHz. См. (E-)AC3 decoders comparison. Разработчик считает, что это следствие неопределённости в спецификации AС-3. Вывод: воздержаться от декодирования АС3 при помощи eac3to. Для этих целей можно использовать: - декодер Azid (Command-line interface). Примеры командной строкиДля АС3 5.1azid.exe -d3/2 -L0 -l1 -ol,r,c,lfe,sl,sr -F wav24 input.ac3 output.wav
azid.exe -d2/0 -ol,r -F wav24 input.ac3 output.wav
azid.exe -d1/0 -oс -F wav24 input.ac3 output.wav
Правильную работу этих двух приложений я могу гарантировать. -E-AC3Можно воспользоваться одним из двух декодеров: 1). -nero. Используется по умолчанию. Автору программы не удалось справиться с отключением DRC и в этом случае. 2). -libav. Существует небольшой баг. См. (E-)AC3 decoders comparison. Разработчик обещал разобраться. Т.к. альтернатив нет, для декодирования E-AC3 я рекомендую использовать именно libav. Баг с SNR меньшее из двух зол; применение DRC другими декодерами абсолютно недопустимо. Пример декодирования: eac3to input.ec3 output.wavs -libav -no2ndpass
Декодирование TrueHD, MLPTrueHD (THD)Можно воспользоваться одним из двух декодеров:1). -libav. Используется по умолчанию. Работает правильно. 2). -nero. Работает правильно, но ограничен схемой 5.1. -Общая информация:Несмотря на то, что в метаданных потока THD прописана разрядность, eac3to декодирует любую дорожку THD в 24-bit PCM. Правда в том, что часть бит может быть заполнена нулями и итоговая разрядность дорожки (т.е. непосредственно сигнала) может быть не выше 16. eac3to умеет находить нулевые биты и удалять их во втором проходе. В этом случае: log eac3toeac3to v3.24command line: eac3to test.thd test.wavs -libav ------------------------------------------------------------------------------ TrueHD, 5.1 channels, 48kHz Decoding with libav/ffmpeg... Writing WAVs... Creating file "test.C.wav"... Creating file "test.L.wav"... Creating file "test.R.wav"... Creating file "test.SR.wav"... Creating file "test.SL.wav"... Creating file "test.LFE.wav"... The original audio track has a constant bit depth of 16 bits. Superfluous zero bytes detected, will be stripped in 2nd pass. Starting 2nd pass... Decoding with libav/ffmpeg... Reducing depth from 24 to 16 bits... Writing WAVs... Creating file "test.C.wav"... Creating file "test.L.wav"... Creating file "test.R.wav"... Creating file "test.SR.wav"... Creating file "test.SL.wav"... Creating file "test.LFE.wav"... The processed audio track has a constant bit depth of 16 bits. eac3to processing took 37 minutes, 31 seconds. Done. The bitdepth is simply not known before the processing. The information about the bitdepth is not contained anywhere in the TrueHD track. eac3to has no other choice than to fully decode the full track and check the bitdepth of every single audio sample (of which there are usually 48000 for every second of the runtime). If all 24bit audio samples have 8bits zeroed out, eac3to will state that it's a 16bit track only and will remove the 24bit file. There's nothing else I can do.
... All TrueHD tracks are stored in 24bit. Some of those may be zero. eac3to shows the true bitdepth after having decoded a TrueHD track. Примеры правильного декодирования: eac3to input.thd+ac3 output.wavs -libav
eac3to input.thd ouput.wavs -libav
eac3to input.thd ouput.wavs -nero
-Дополнительно:1). Проверить разрядность THD можно с помощью команды -analyzeBitdepth: logeac3to v3.24
command line: eac3to test.thd -analyzebitdepth ------------------------------------------------------------------------------ TrueHD, 5.1 channels, 48kHz Decoding with libav/ffmpeg... The original audio track has a constant bit depth of 16 bits. eac3to processing took 10 seconds. Done. Known Issues:
* Occasionally inaccurate bit-depth measurement on Dolby TrueHD and DTS-HD Master audio streams. * BDInfo will *NOT* function correctly with copy-protected discs. You will also need to have SlySoft AnyDVD HD (or equivalent) running in the background in order to gather info from commercial Blu-ray movie discs. -libaveac3to v3.24
command line: eac3to 51.mlp 51.eac3to-3.24.libav.wavs -libav ------------------------------------------------------------------------------ MLP, 5.1 channels, 16 bits, 48kHz Decoding with libav/ffmpeg... The libav decoder output an unexpected bitdepth (-1). <ERROR> Aborted at file position 262144. <ERROR> -neroeac3to v3.24
command line: eac3to 51.mlp 51.eac3to-3.24.nero.wavs -nero ------------------------------------------------------------------------------ MLP, 5.1 channels, 16 bits, 48kHz Disabling DRC for Nero (E-)AC3 decoding... Decoding with DirectShow (Nero Audio Decoder 2)... The DirectShow audio decoder didn't accept the input stream. <ERROR> Aborted at file position 262144. <ERROR> Декодирование DTS, DTS-ES, DTS-96/24Можно воспользоваться одним из четырех декодеров:-arcsoft (используется по умолчанию), -sonic, -nero (ограничен схемой 5.1), -libav (ограничен схемой 5.1) -DTS Digital SurroundНемного о декодерах:
Проблемы: - DTS 2.1 декодируют правильно Sonic и Nero. ArcSoft (1.1.0.0 - 1.1.0.8) не справляется (пустой LFE). - DTS 1.0 разбирает правильно ArcSoft 1.1.0.0 и Nero. ArcSoft DTS Decoder 1.1.0.7, 1.1.0.8 и Sonic не справляются вообще. -DTS-ESСуществует два типа DTS-ES дорожек: Discrete и Matrix. То, как обзывает DTS-ES дорожки eac3to отличается от номенклатуры DTS Inc., а именно: 1). ES Discrete 6.1 и 6.0 — в терминах eac3to это DTS-ES 6.1 и 6.0 (физически это семь и шесть каналов соответственно). Правильно может быть декодирован с помощью ArcSoft DTS Decoder 1.1.0.0. Версии 1.1.0.7 и 1.1.0.8 не справляются (мусор во всех каналах). Декодер Sonic разбирает такие дорожки неправильно (пустой BACK_CENTER). Декодеры libav и Nero игнорируют BACK_CENTER и, следовательно, для декодирования DTS-ES Discrete тоже не годятся. 2). ES Matrix 6.1 и 6.0 — в терминах eac3to это DTS-ES 5.1 и 5.0 (физически это шесть и пять каналов соответственно). Arcsoft, Sonic и Nero справляются отлично. libav опять же использует НЧ-фильтр невысокого порядка для LFE. На выходе из eac3to в случае ES Matrix мы получаем WAV, где тыловой центр уже примешан к тылам. Чтобы обратно собрать аналогичный исходному DTS-ES Matrix в DTS-HD M.A.S. в настройках енкодера нужно отметить пункт 'ES Pre-Mixed'. -DTS-96/24С декодерами ArcSoft и Sonic проблем не замечено. Nero7 и libav достают только 48 кГц PCM, т.е. для декодирования DTS-96/24 не пригодны. Декодирование DTS-HD Hi-Res, DTS-HD Master AudioМожно воспользоваться одним из двух декодеров:-arcsoft (используется по умолчанию), -sonic Работают они правильно, за исключением некоторых случаев. -Существует три типа проблем:I. DTS-HD всегда содержит в себе ядро, нужное для обратной совместимости. Дополнительная информация довешивается на это ядро. Как следствие: декодер, не способный разобрать ядро, не сможет разобрать и соответствующий DTS-HD, а значит проблемы, имеющие место быть при декодировании DTS, DTS-ES, DTS-96/24 — все эти проблемы распространяются и на DTS-HD, а именно:
II. Дорожки DTS-HD с ненулевым Dialog Normalization (что само по себе большая редкость) необходимо декодировать с помощью Sonic'а. В отличии от него, декодер ArcSoft не игнорирует DN. В том случае, когда Sonic использован быть не может (а это значит, что мы имеем дело или с DTS-HD MA 1.0, или с DTS-HD 7.1, но с 7.1 разговор отдельный) остается один вариант — вручную повысить уровень, т.е. дорожку например такую: eac3to v3.24
command line: eac3to test.dtshd ------------------------------------------------------------------------------ DTS Master Audio, 1.0 channels, 16 bits, 48kHz, dialnorm: -3dB (core: DTS, 1.0 channels, 16 bits, 768kbps, 48kHz, dialnorm: -3dB) eac3to v3.24
command line: eac3to test.dtshd test.wav +3dB ------------------------------------------------------------------------------ DTS Master Audio, 1.0 channels, 16 bits, 48kHz, dialnorm: -3dB (core: DTS, 1.0 channels, 16 bits, 768kbps, 48kHz, dialnorm: -3dB) Decoding with ArcSoft DTS Decoder... Removing DTS dialog normalization... Reducing depth from 64 to 24 bits... Writing WAV... Applying 3dB gain... Creating file "test.wav"... The original audio track has a constant bit depth of 16 bits. The processed audio track has a constant bit depth of 24 bits. eac3to processing took 1 second. Done. III. Отдельный разговор про DTS-HD 7.1 1). Существует семь возможных схем DTS-HD 7.1: Каждая из таких дорожек может быть использована на Blu-ray. Доподлинно известно, что встречаются две схемы: #1 и #2. Остальные пять на Blu-ray пока никому не попадались. Узнать по какой именно схеме была собрана та или иная дорожка можно с помощью команды -logdts (см. пункт "activeSpeakers", названия присутствующих каналов однозначно определяют схему). Конфигурацию #1 (-logdts: $84b) принято называть стандартной. 2). Любую нестандартную конфигурацию ArcSoft декодирует, коррелируя сигнал на стандартную схему расположения динамиков. Это не противоречит документам DTS inc. и не противоречит общей логике (не переставлять же каждый раз акустику, к тому же для этого нужно узнать схему DTS-HD 7.1). Другое дело, что при таком декодировании мы не получаем исходный звук. Мы получаем микс, адаптированный под стандартную конфигурацию. См. подробности: 1, 2. 3). Как декодировать DTS-HD 7.1 в исходный звук? Стандартная конфигурацияArcSoft (v.1.1.0.0-1.1.0.8) декодирует такую схему абсолютно правильно.eac3to обозначает каналы так же, как и Microsoft. Соответственно: DTS channel name <---> Microsoft channel name L <---> L R <---> R C <---> C LFE <---> LFE Lsr <---> BL Rsr <---> BR Lss <---> SL Rss <---> SR -Декодер Sonic игнорирует каналы Lsr, Rsr, а значит для декодирования такой схемы использован быть не может: L <---> L R <---> R C <---> C LFE <---> LFE Lsr <---> not decoded Rsr <---> not decoded Lss <---> SL Rss <---> SR Нестандартная конфигурацияТак как на Blu-ray встречается (по крайней мере пока) только одна из нестандартных конфигураций (#2), то всё написанное ниже относится именно к ней.В терминах eac3to обозначается как "DTS Master Audio, 7.1 (strange setup)" / "DTS Hi-Res, 7.1 (strange setup)". Такие же названия eac3to дает и некоторым другим нестандартным схемам, так что для надежности стоит сверяться с отчетом -logdts. Декодер Sonic не способен декодировать все 8 каналов "strange setup", но способен декодировать 6 из них, причем абсолютно правильно (все равны исходному звуку бит-в-бит): SonicDTS channel name <---> eac3to channel nameL <---> L R <---> R C <---> C LFE <---> LFE Lsr <---> not decoded Rsr <---> not decoded Ls <---> SL Rs <---> SR - не нужно использовать v. 1.1.0.0. В случае 16-bit DTS-HD он выдаст мусор в правом и левом фронтах. Использовать нужно ArcSoft DTS Decoder 1.1.0.7 или 1.1.0.8. - мы не получаем исходный звук, а получаем микс, адаптированный под стандартную конфигурацию динамиков. В принципе, выдаваемые WAVs можно закодировать в DTS-HD M.A.S. в схему #1 и это будет правильно с той поправкой, что звук не равен исходному, но очень близок к нему. Лучше воспользоваться другим решением. Задачу можно решить двумя способами: I. Зная матрицу, по которой ArcSoft производит микс (высчитывалась экспериментально), можно достаточно точно воссоздать исходный звук. Тем более, что шесть из восьми каналов легко достаются с помощью Sonic. План действийДекодируем исходный DTS-HD 7.1 "strange setup" с помощью Sonic:eac3to v3.24
command line: eac3to test.dtshd test-Son.wavs -sonic ------------------------------------------------------------------------------ DTS Master Audio, 7.1 (strange setup) channels, 24 bits, 48kHz (core: DTS-ES, 5.1 channels, 24 bits, 1509kbps, 48kHz) The Sonic Audio Decoder doesn't decode the XXCh channel extension. <WARNING> Decoding with DirectShow (Sonic Audio Decoder)... DirectShow reports 5.1 channels, 24 bits, 48kHz Writing WAVs... Creating file "test-Son.R.wav"... Creating file "test-Son.L.wav"... Creating file "test-Son.SL.wav"... Creating file "test-Son.C.wav"... Creating file "test-Son.SR.wav"... Creating file "test-Son.LFE.wav"... The original audio track has a constant bit depth of 24 bits. eac3to processing took 1 minute, 39 seconds. Done. eac3to v3.24
command line: eac3to test.dtshd test-Arc.wavs ------------------------------------------------------------------------------ DTS Master Audio, 7.1 (strange setup) channels, 24 bits, 48kHz (core: DTS-ES, 5.1 channels, 24 bits, 1509kbps, 48kHz) CAUTION: Decoding this track with ArcSoft results in low volume. <WARNING> Decoding with ArcSoft DTS Decoder... Writing WAVs... Creating file "test-Arc.L.wav"... Creating file "test-Arc.BL.wav"... Creating file "test-Arc.BR.wav"... Creating file "test-Arc.LFE.wav"... Creating file "test-Arc.R.wav"... Creating file "test-Arc.SL.wav"... Creating file "test-Arc.SR.wav"... Creating file "test-Arc.C.wav"... The original audio track has a constant bit depth of 24 bits. eac3to processing took 54 seconds. Done. 1). Смешать каналы вручную в аудиоредакторе. Не самый точный способ (Adobe Audition позволяет задать значение dB с точностью до второго знака после запятой). По порядку: - Повышаем уровень test-Arc.BL на 3.34 дБ - Понижаем уровень test-Son.SL на 6,56 дБ - Из получившегося test-Arc.BL вычитаем получившийся test-Son.SL → получаем Lsr. Для Rsr выполняем всё аналогично. 2). Воспользоваться CopyAudio. Найти утилиту можно в комплекте AFsp-v9r0.tar.gz (download1, download2). Работает программа из командной строки. Хороша тем, что позволяет задать коэффициенты микса очень точно. По порядку те же самые действия, что и в Audition: CopyAudio.exe --chanA="1.46970*A" test-Arc.BL.wav test-Arc-2.BL.wav
CopyAudio.exe --chanA="0.46970*A" test-Son.SL.wav test-Son-2.SL.wav
CopyAudio.exe --chanA=A-B test-Arc-2.BL.wav test-Son-2.SL.wav Lsr.wav
-В итоге мы получаем необходимые Lsr и Rsr (они не равны исходным, но очень-очень близки к ним). Остальные шесть каналов (L,R,C,LFE,Ls,Rs) берем от Sonic'а, все они совпадают с исходными бит-в-бит. План действийДля декодирвония в StreamPlayer'е любой дорожки DTS нужен маленький хак. Нет подробной документации, где бы было подробно написано о том, что за заголовки используют программы из комплекта DTS-HD Master Audio Suite, что и понятно. Более того, к настоящему моменту в открытом доступе нет и подробной документации формата DTS-HD.Всё написанное ниже - результаты экспериментов. Общие принципы:
Декодирование MP1, MP2, MP3, AAC, FLACMP1, MP2, MP3Можно воспользоваться одним из двух декодеров- libav (используется по умолчанию) - nero Вся разница м/у ними в том, что декодер libav способен достать вплоть до 32-bit float point (в дальнейшем по умолчанию eac3to понижает разрядность до 24-bit integer), тогда как декодер Nero выдаёт только 16-bit integer. Предпочтительнее использовать libav. Примеры: eac3to input.mp3 output.wavs -slowdown -resampleto48000 -no2ndpass -libav
eac3to input.mp3 output.wavs -libav -no2ndpass
- nero (используется по умолчанию) - sonic Вся разница м/у ними в том, что декодер Nero выдаёт 24-bit integer, тогда как декодер Sonic — только 16-bit integer. Предпочтительнее использовать декодер Nero. Особенности:
eac3to input.aac output.wavs -no2ndpass -nero
Пример: eac3to input.flac output.wavs
|
Главная » Правила, инструкции, советы, FAQ и т.д. » Правила, инструкции, FAQ-и » Обработка аудио и видео, FAQ-и |
Текущее время: 14-Дек 01:43
Часовой пояс: UTC + 3
Вы не можете начинать темы
Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы не можете скачивать файлы |