Тема была выделена из
eac3to и как им пользоваться [обсуждение]
Apic
В новых версиях
v3.28 - v3.34 программы eac3to исправлен "баг" в декодере -libav при декодировании AC3-дорожек, заключавшийся в занижении уровня высоких частот. Теперь программой можно декодировать AC3 (декодер -libav теперь используется по умолчанию), используя команду:
a) разборка в 24bit int:
eac3to.exe input.ac3 output24bits.wavs
b) разборка в 32bit float:
eac3to.exe input.ac3 output32bitsFloat.wavs -float32
В этом варианте в случае дальнейшей обработки полученных вавок в звуковом редакторе можно запретить второй проход командой
-no2ndpass (клиппинга в данном случае не будет, но возможно переполнение - выход отсчетов выше 0dB).
2)
Нестандартную конфигурацию #2
($4f) дорожек DTS-HD Master Audio 7.1 (
strange setup) (L, R, C, LFE, Ls, Rs, Lsr, Rsr)
необходимо теперь разбирать версией
v3.29, используя следующую команду:
eac3to.exe input71StrangeSetup.dtsma output.wavs
-dcadec
либо версией
v3.31 - v3.34 (декодер dcadec обновлен и используется теперь по умолчанию):
eac3to.exe input71StrangeSetup.dtsma output.wavs
Примечание:
Обозначение программой Eac3to различных конфигураций 7.1 при использовании команды
-logdts:
скрытый текст
- activeSpeakers C L R LFE Lsr Rsr Lss Rss ($84b)
- activeSpeakers C L R Ls Rs LFE Lsr Rsr ($4f)
- activeSpeakers C L R Ls Rs LFE Lh Rh ($2f)
- activeSpeakers C L R Ls Rs LFE Lhs Rhs ($200f)
- activeSpeakers C L R Ls Rs LFE Cs Ch ($9f)
- activeSpeakers C L R Ls Rs LFE Cs Oh ($11f)
- activeSpeakers C L R Ls Rs LFE Lw Rw ($40f)
ДОПОЛНЕНО.
1. Дорожки
DTS:X не следует разбирать версиями
v3.29 - v3.30 из-за имеющегося конкретно в них бага в декодере
dcadec:
DTS:X необходимо разбирать или предшествующими версиями программы с помощью декодера
arcsoft либо версией
v3.31 - v3.34, применяя декодер
dcadec (он обновлен и используется теперь по умолчанию)
без второго прохода (в этом случае полученные вавки побитно идентичны вавкам, полученным при разборке этой дорожки декодерами
-arcsoft или DTS-HD
StreamPlayer), но возможен клиппинг:
eac3to.exe inputDtsX.dtsma output.wavs
-no2ndpass
или со вторым проходом, в результате которого уровни выходных вавок могут быть уменьшены на величину, необходимую для устранения клиппинга:
eac3to.exe inputDtsX.dtsma output.wavs
Более подробно о клиппинге и втором проходе:
На возникающее сообщение "libDcaDec reported the warning "XLL output not lossless"" можно не обращать внимания:
2. В версиях
v3.30 - v3.34 при использовании команды
-edit перестали правильно (так, как описано в здешней инструкции) работать опции
-silence и
-loop
Пример для команды
-edit=0:00:10.000,+1000ms -silence
На рисунке версию 2.29 следует читать как 3.29:
В случае надобности необходимо использовать предыдущие версии программы.
3)
1. Также в новых версиях
v3.28 - v3.34 программы исправлена ошибка при даунмиксе 7.1-канальной дорожки в 5.1-канальную.
Команда downmix 7.1 -> 5.1 в режиме принудительного включения
двухпроходного декодирования с целью предотвращения возможного клиппинга (по умолчанию второй проход не включается) выглядит так:
eac3to.exe input71
StandartSetup.dtsma outputDownmix51.wavs -down6
-0.01db
Применять указанную команду следует только
для стандартной конфигурации DTS-HD MA 7.1 или для TrueHD 7.1 (TrueHD 7.1 (Atmos)).
2. В новых версиях исправлена путаница с каналами при даунмиксе 6.1 -> 5.1.
Правильная команда 6.1 -> 5.1 для лосслесс дорожек DTS-HD MA 6.1:
eac3to.exe input61.dtsma outputDownmix51.wavs -down6
-0.01db
3. Правильная команда 6.1 -> 5.1 для лосси дорожек DTS (Core) 6.1 ES Discrete:
eac3to.exe inputDTSCore61ESDiscrete.dts outputDownmix51.wavs -down6
4)
Опция
-downStereo
скрытый текст
В последних версиях
v3.28 - v3.34 опция
-down2 разделена на две:
-downStereo для микширования многоканальных треков в стандартное стерео и
-downDpl для микширования в Dolby Pro Logic II.
Для микширования 5.1 в стерео согласно рекомендациям
ITU-R BS.775-3
используется следующая матрица:
Lt = L + 0.707*C + 0.707*SL
Rt = R + 0.707*C + 0.707*SR
Для микширования 6.1 в стерео используется матрица:
Lt = L + 0.707*C + 0.707*(SL + 0.707*BC)
Rt = R + 0.707*C + 0.707*(SR + 0.707*BC)
Для микширования 7.1 в стерео используется матрица:
Lt = L + 0.707*C + 0.707*(SL + BL)
Rt = R + 0.707*C + 0.707*(SR + BR)
Примечание.
Желающие использовать матрицу микширования:
Lt = L + 0.707*C + SL
Rt = R + 0.707*C + SR
могут сделать это, воспользовавшись микшированием с помощью программы версии
v3.27.
Команда 5.1, 6.1, 7.1 -> 2.0 (stereo) выглядит так (в случае обнаружения клиппинга по умолчанию автоматически запускается второй проход):
eac3to.exe input.dtsma output20Stereo.wavs -downStereo
5)
Начиная с версии v3.28 программа умеет разбирать на вавки TrueHD из общего потока Dolby Atmos.
В случае, когда eac3to по какой-либо причине не справляется с этим, можно воспользоваться альтернативным вариантом при помощи ffmpeg-а:
1. Для разборки на вавки лосслесс-ядра TrueHD из общего потока Dolby Atmos необходимо скачать последнюю версию ffmpeg (сборка должна быть не старше 2014-09-24):
2. Далее, если у нас имеется голый поток Dolby Atmos, то его необходимо предварительно замуксить в контейнер m2ts (input.m2ts) TsMuxer-ом или в матрешку mkv (mka) прогой MkvMergeGui.
3. Командная строка разборки TrueHD в одну многоканальную вавку выглядит так:
ffmpeg.exe -i input.m2ts -vn -acodec pcm_s24le output1.wav
или
ffmpeg.exe -i input.mka -vn -acodec pcm_s24le output1.wav
Должно получиться примерно такое:
4. Затем полученную многоканальную вавку необходимо прогнать через eac3to:
eac3to.exe output1.wav outputFinal.wavs
или
eac3to.exe output1.wav outputFinal.flac
Это делается потому, что часто треки TrueHD бывают "раздутыми" по битности (а ffmpeg-ом мы всегда разбираем в 24-х битные вавки):
"часть бит может быть заполнена нулями и итоговая разрядность дорожки (т.е. непосредственно сигнала) может быть не выше 16. Eac3to умеет находить нулевые биты и удалять их во втором проходе. В этом случае":
скрытый текст
eac3to v3.27
command line: eac3to test.thd test.wavs
------------------------------------------------------------------------------
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.
6)
Как сделать ремукс из UHD blu-ray со структурой Seamless Branching?
скрытый текст
Прога
Eac3to не умеет правильно демуксить аудиодорожки из таких блуреев.
Можно воспользоваться прогой
MakeMKV. Эта прога демуксит блурей в матрешку.
Загружаете в нее файл
index.bdmv из папки блурея
BDMV.
Прога прочитает весь блурей и выдаст все присутствующие в нем плей-листы. Выбираете нужный плей-лист, в этом плей-листе выбираете, какие потоки видео и аудио вам нужны. Прога выбранное смуксит в матрешку. Потом из этой матрешки в случае надобности можно демуксить
Eac3to-ом или
gMKVExtractGUI нужную аудиодорожку.
Прогу можно скачать здесь:
https://www.makemkv.com/download/
Временные, постоянно обновляемые ключи к этой проге раздают здесь:
https://www.makemkv.com/forum/viewtopic.php?f=5&t=1053
P.S.
Есть рекомендация: сделанную прогой MakeMKV матрешку разобрать на голые потоки и затем собрать по-новой в MKV прогой MKVToolNix.
Это раньше решало проблемы с
NAL на встроенных плейерах LG.
7)
1. При помощи проги
SOX простая команда есть для собирания 6 вавок в один многоканальный флак (как дополнение к Eac3to, так как оный не умеет собирать вместе моновавки):
sox.exe -M -S input.L.wav input.R.wav input.C.wav input.LFE.wav input.SL.wav input.SR.wav output.flac
По умолчанию используется 8-я степень компрессии во флак. Для установки степени компрессии 5 нужно использовать опцию -C 5 :
sox.exe -M -S input.L.wav input.R.wav input.C.wav input.LFE.wav input.SL.wav input.SR.wav -C 5 output.flac
Для 7.1:
sox.exe -M -S input.L.wav input.R.wav input.C.wav input.LFE.wav input.BL.wav input.BR.wav input.SL.wav input.SR.wav output.flac
2. Склеивание нескольких вавок (с одинаковыми параметрами) одну за другой в заданной последовательности:
sox.exe --combine concatenate -S -V Input.1.wav Input.2.wav output1+2.wav
sox.exe --combine concatenate -S -V Input.1.wav Input.2.wav output1+2.flac
Прогу SoX:
sox-14.4.1a-win32.zip,
sox-14.4.1a-win32.exe можно скачать здесь:
P.S.
1. Ссылка на установочный декодер-пак для Eac3to:
https://rutr.life/forum/viewtopic.php?p=65778570#65778570
2.
libFlac.dll v1.3.2
3. Некоторые исправления, сделанные автором программы Eac3to в версиях
v3.25 - 3.34:
скрытый текст
v3.34
* fixed: "min/maxPlayListRuntime" worked for listing, but not processing
v3.33
* fixed a couple of HEVC bitstream bugs
* added new parameter "-minPlayListRuntime=0:15:00"
* added new parameter "-maxPlayListRuntime=4:00:00"
* added support for ".264" and ".265" file extensions
v3.32
* added support for UHD Blu-Ray playlists and clip infos
* added support for h265/HEVC bitstream parsing
* added support for m2ts h265/HEVC splitting
* added support for MKV h265/HEVC splitting
* added support for h265/HEVC framerate modifications
* added detection for Dolby Vision Enhancement Layer
v3.31
* libDcaDec: updated to latest build
* libDcaDec: decoding only aborts on critical issues now
* libDcaDec: now reports warnings if something isn't 100% perfect
* libDcaDec: proper handling of clipped files (2nd pass etc)
* libDcaDec: proper handling of tracks that switch bitdepth 16 <-> 24
* fixed: TrueHD decoding -> AC3 encoding didn't work properly
v3.30
* libDcaDec is now default for all DTS tracks except XSA / low bitrate
* fixed: #310: Use ffmpeg like external encoder
* fixed: #312: Convert to wav with a big negative delay works incorrectly
* fixed: #314: 'edit' option adds one frame less than expected
* fixed: #345: Fails to decode Atmos track with no embedded AC3 track
v3.29
* added libDcaDec decoder for DTS decoding, new default for 7.x tracks
* fixed: #086: left/right eye information was inverted in some 3D Blu-Rays
* fixed: #263: decoding TrueHD Atmos with active dialnorm information failed
* fixed: #264: using "-float32 -normalize" didn't work in all cases
v3.28
* fixed: #001: fifferent number of frames for left and right eye
* fixed: #061: valid silence edit was sometimes rejected
* fixed: #067: error messages were not available to GUIs
* fixed: #086: left/right eye information was inverted in some 3D Blu-Rays
* fixed: #131: TrueHD Atmos streams could not be demuxed or decoded
* fixed: #243: ArcSoft DTS decoder crash made eac3to crash, too
* downStereo: added 0.7071 factor for surround/back channels (ITU-R BS.775-3)
* downStereo/Dpl: using 0.5 instead of 0.7071 factor for LFE (ITU-R BS.775-3)
v3.27
* fixed: raw processing cut away 16 samples sometimes
v3.26
* fixed: downmixing of less than 6 channels to stereo failed
* patched libav AC3 decoder to properly decode high frequencies
* added support for floating point volume changes (e.g. -0.5db)
* dialnorm is no longer removed from DTS-HD tracks (didn't work, anyway)
v3.25
* fixed: option "-down6" didn't handle 6.1 tracks properly
* fixed: option "-down6" for 7.1 content lowered side channels in volume
* fixed: 6.1 DTS/E-AC3 libav decoding resulted in incorrect 70f channel mask
* fixed: a couple of funny AC3 channel configs resulted in swapped channels
* fixed: option "-check" failed for SRT subtitles
* fixed: MKV tracks without language information didn't default to "English"
* fixed: 16bit MLP decoding didn't work at all
* fixed: DTS 2.1 decoding had empty sub channel when using ArcSoft decoder
* fixed: muxing h264 video streams without VUI eventually crashed
* fixed: SMPTE 302M 20bit PCM tracks didn't extract properly
* improved AC3 seamless branching handling by detection of identical frames
* improved DTS seamless branching handling by detection of identical frames
* updated to latest ffmpeg/libav revision
* added support for libav DTS 6.1 and 7.1 decoding (only in core, no DTS-HD)
* added support for encoding all AC3 channel configurations
* added support for demuxing Blu-Ray primary E-AC3 tracks (AC3 core)
* libav is now the default decoder for AC3 and E-AC3
* option "-down2" is now deprecated, but still supported
* option "-downDpl" mixes down to Dolby Pro Logic II
* option "-downStereo" mixes down to standard stereo
* added support for mixing any channel configuration to stereo/DPL
* DPL downmixing doesn't lower volume, anymore (except when clipping occurs)
* editing audio tracks by adding silence is now less restrictive
* trying to mux right eye stream to MKV errors out now, instead of crashing
* doing "eac3to 1) movie.mkv" for 3D BDs now properly skips right eye stream
* FLAC encoding is now done with optimized block sizes for "LossyWAV" files
* encoder bitdepth for lossy DTS tracks is no longer displayed
* option "-test" no longer checks mkvtoolnix
4.
Кодирование в AC3 в пакетном режиме в программе Sony Sound Forge:
5. Разборка восьмиканальных дорожек
E-AC3 (DD+) 7.1 с помощью программы
ffmpeg:
в 24bit:
ffmpeg.exe -drc_scale 0 -i input.eac3 -acodec pcm_s24le output.w64
в 32bit float:
ffmpeg.exe -drc_scale 0 -i input.eac3 -acodec pcm_f32le output.w64