Главная| Трекер| Поиск| Правила| Форум| Чат |
Недокументир
|
Главная » Правила, инструкции, советы, FAQ и т.д. » Правила, инструкции, FAQ-и » Обработка аудио и видео, FAQ-и |
|
Автор | Сообщение |
---|---|
Серый1779 ® Пол: Стаж: 6 лет 1 месяц Сообщений: 3686 Откуда: Украина |
Недокументированные команды в eac3to.-Недокументированные команды
-no2ndpassЗапретить второй проход.Немного объяснений. Существует два типа представления разрядности PCM: float point и integer. - любое декодирование из lossy производится в 32-bit float point по стандарту. Именно так действует libavcodec в связке с eac3to. Затем разрядность как правило понижается (звуковые карты и большинство енкодеров обычно принимают на вход только фикс. точку) в самом декодере или сторонними средствами (например eac3to понижает разрядность сам, вне зависимости от libav), с использованием дизеринга или без. - любые промежуточные преобразования над звуком лучше производить в макс. разрядности. Именно так работают фильтры ресэмплирования, перетяжки и микширования в eac3to - все преобразования выполняются в 64-bit float point. - небольшие переполнения при декодировании и преобразованиях аудио - это нормально. Обычно это результат промежуточных вычислений, выполняемых в float point. Только в float point можно представить сигнал, уровень которого >0 dB, клиппинг тут невозможен (клиппинг - это не выход уровня сигнала за предельные значение, а потеря данных вышедших за эти пределы). При переходе float→integer значения уровней округляются до ближайших и уровням > 0dB во float point присваиваются одинаковые значения в integer. Как следствие, возникает т.н. клиппинг - "обрезание сигнала". Пример: Чтобы гарантировано избежать клиппинга автор eac3to поступил так. Любой float point сканируется программой eac3to на предмет переполнения и при нахождении этого переполнения, прежде чем произвести преобразование 64-bit Float → 24-bit Int, eac3to нормализует дорожку. Таким образом мы гарантированно избавляемся от клиппинга. Но. Правда состоит в том, что не любое переполнение ведёт к клиппингу (но, естественно, всякий клиппинг имеет в своей основе переполнение). Так что eac3to может и ошибиться, как и любая другая программа, работающая по тому же принципу (например в Azid реализован похожий механизм, но Azid только предупреждает о переполнении - по умолчанию он дорожку не нормализует). Окончательно дать ответ есть ли клиппинг в полученном PCM или же нет может аудиоредактор. Нужно найти макс. уровень на таймлайне, нужно взять крупный план и посмотреть - есть ли срез. Если срез есть, то нужен второй проход. Если среза нет, то второй проход действительно был не нужен. --Применительно к eac3to. Попроще. В случае обнаружения переполнения, eac3to сообщает "clipping detected" и часто в этом ошибается, т.к. далеко не каждое переполнение ведет к клиппингу. Абсолютно точно определить наличие клиппинга можно в любом аудиоредакторе. Факты: - при декодировании из lossy с помощью декодеров ArcSoft, Sonic, Nero переполнение невозможно, т.к. из фильтра DirectShow PCM поступает уже в 24-bit integer - его уровень в принципе не может превысить 0 dB. - при декодировании из lossy с помощью декодера libav возможно переполнение, т.к. libavcodec первоначально декодирует в 64-bit float point, а затем eac3to по умолчанию понижает разрядность до 24-bit integer. - при декодировании из lossless (THD, DTS-HD MA, FLAC) переполнение невозможно в принципе. PCM распаковывается в исходную разрядность (а это фикс. точка) как из архива. То, что было запаковано в lossless - именно то и получаем при распаковке. - при преобразованиях с потерями (ресэмплинг, перетяжка, микс) возможно переполнение, т.к. промежуточные преобразования выполняются в 64-bit float point, а затем eac3to по умолчанию понижает разрядность до 24-bit integer. Выводы: 1). Ключ -no2ndpass имеет смысл дописывать при операциях декодирования из lossy с помощью libav и при преобразованиях аудио с потерями (ресэмплинг, перетяжка, микс). Если при этом eac3to выдаст сообщение "clipping detected", нужно будет перепровериться на предмет наличия клиппинга в аудиоредакторе. - если клиппинг действительно образовался, то нужно повторить операцию в eac3to, но на этот раз второй проход разрешить. - если клиппинга нет, то второй проход действительно был не нужен. При переполнении <0,5 dB (а eac3to показывает величину переполнения) вероятность среза крайне мала. 2). Ключ -no2ndpass не нужен (и более того - вреден) при операциях декодирования из lossless и при демуксе из Blu-ray со структурой Seamless Branching. Примеры: eac3to input.dts output.wavs -slowdown -no2ndpass
eac3to input.dtshd output.wavs
eac3to input.mp3 output.wav -no2ndpass -resampleto48000 -down16
eac3to input.aac output.wavs -down2 -resampleto44100 -no2ndpass
-monoВыделить только центральный канал из многоканального источника и только левый канал из 2.0.Пример: eac3to input.dtshd output.wavs -mono
-dontPatchDtsЗапретить патчинг 16bit→24bit в операциях с DTS.Команду имеет смысл использовать при извлечении ядра DTS-HD 16-bit, но не нужно применять при декодировании. Смысл патчинга сводится к тому, что eac3to меняет заголовок "Transmission Bit Rate" (метаданные) каждого фрейма DTS с 16-bit на 24-bit. Это позволяет повысить качество декодирования (а значит и проигрывания) при использовании некоторых декодеров (например декодеров ArcSoft и Sonic). Пример: eac3to input.dtshd output.dts -core -dontpatchdts
-logdtsВывести подробную информацию о DTS(-HD).Пример: eac3to v3.24
command line: eac3to downloads\test.dtshd -logdts ------------------------------------------------------------------------------ + DTS-Core - frameSize 2012 - DTS-ES + - channelNo 6 - lfe 1 - channelDescr 6.1 - samplingRate 48000 - bitDepth 16 - bitrate 1509000 - extAudio XCh - samplesPerFrame 512 - copyHistory 1 + DTS-HD - fullSize 104 - headerSize 32 - refClockCode 1/48000 - frameDurationCode 1 - activeMasks [1], [[1]] + Asset [0] - fullSize 72 - headerSize 14 - corePackets Core+XCh - extSubStrPackets XLL - bitResolution 16 - maxSampleRate 48000 - totalNumChannels 7 - activeSpeakers C L R Ls Rs LFE Cs ($1f) DTS Master Audio, 6.1 channels, 16 bits, 48kHz (core: DTS-ES, 6.1 channels, 16 bits, 1509kbps, 48kHz) Basically, if you want to know what you'll lose by extract the core, you should use the undocumented "-logdts" switch and then check out which extensions are stored in the DTS-HD blocks. If you strip off XCh or XXCh extensions, you're losing additional channels. If you strip off the X96 extension, you're losing 96khz. If you strip off the XBR extension, you're losing additional bitrate for the 5.1 channels. If you strip off the XLL extension, you're losing Master Audio. XCh, XXCh and X96 extensions can be contained in either the core or in the DTS-HD blocks, while XBR and XLL extensions can only be contained in the DTS-HD blocks.
-progressnumbersВыводить процент выполнения работы.В командной строке выглядит это не очень эстетично. Примерно так: D:\test>eac3to test.dtshd test.wavs -progressnumbers
analyze: 5% DTS Master Audio, 5.1 channels, 24 bits, 48kHz (core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz) Decoding with ArcSoft DTS Decoder... Writing WAVs... process: 5% process: 10% process: 15% process: 20% process: 25% process: 30% process: 35% process: 40% process: 45% process: 50% process: 55% Creating file "test.L.wav"... Creating file "test.LFE.wav"... Creating file "test.SR.wav"... Creating file "test.SL.wav"... Creating file "test.R.wav"... Creating file "test.C.wav"... process: 60% process: 65% process: 70% process: 75% process: 80% process: 85% process: 90% process: 95% process: 100% 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 ArcSoft DTS Decoder... Reducing depth from 24 to 16 bits... Writing WAVs... process: 5% process: 10% process: 15% process: 20% process: 25% process: 30% process: 35% process: 40% process: 45% process: 50% process: 55% process: 60% process: 65% process: 70% process: 75% process: 80% Creating file "test.L.wav"... Creating file "test.R.wav"... Creating file "test.LFE.wav"... Creating file "test.SR.wav"... Creating file "test.SL.wav"... Creating file "test.C.wav"... process: 85% process: 90% process: 95% process: 100% The processed audio track has a constant bit depth of 16 bits. eac3to processing took 3 seconds. Done. -normalizeНормализовать дорожку. Естественно, требует второго прохода.eac3to нормализует всегда под 99% от макс. уровня. Пример: eac3to input.dtshd output.wavs -down2 -phaseshift -normalize
-logmkvyou can use the undocumented switch "-logmkv" to get a tree structure of the MKV file. It's quite similar to what "mkvinfo" outputs. That way you can see whether eac3to read your MKV file correctly.
eac3to v3.24
command line: eac3to sample.mkv -logmkv ------------------------------------------------------------------------------ EBML EbmlVersionId: 1 EbmlReadVersionId: 1 EbmlMaxIdLengthId: 4 EbmlMaxSizeLengthId: 8 DocTypeId: "matroska" DocTypeVersion: 2 DocTypeReadVersion: 2 Segment Meta Seek Information Seek SeekID: (binary, len: 4) SeekPosition: 4099 Seek SeekID: (binary, len: 4) SeekPosition: 4263 Seek SeekID: (binary, len: 4) SeekPosition: 15370968 Void: (binary, len: 4045) Segment Information TimecodeScale: 1000000 MuxingApp: "libebml v1.0.0 + libmatroska v1.0.0" WritingApp: "mkvmerge v4.4.0 ('Die Wiederkehr') сборка от Oct 31 2010 21:52:48" Duration: 0:00:08.337 DateUTC: 05.01.2011 5:02:10 SegmentUID: (binary, len: 16) Track Track Entry TrackNumber: 1 TrackUID: 1 TrackType: video FlagLacing: 0 MinCache: 1 CodecID: "V_MPEG4/ISO/AVC" CodecPrivate: (binary, len: 35) DefaultDuration: 41708332 Language: "jpn" Name: "Hohushki" Video PixelWidth: 1920 PixelHeight: 1080 DisplayWidth: 1920 DisplayHeight: 1080 Track Entry TrackNumber: 2 TrackUID: 883804855 TrackType: audio CodecID: "A_AC3" DefaultDuration: 32000000 Language: "rus" Name: "MVO" Audio SamplingFrequency: 48000 Channels: 6 Track Entry TrackNumber: 3 TrackUID: 3539642009 TrackType: audio FlagDefault: 0 CodecID: "A_DTS" Language: "jpn" Name: "Original" Audio SamplingFrequency: 48000 Channels: 6 ContentEncodings ContentEncoding ContentCompression ContentCompAlgo: 3 ContentCompSettingsId: (binary, len: 4) Track Entry TrackNumber: 4 TrackUID: 3666471089 TrackType: subtitle FlagDefault: 0 FlagLacing: 0 CodecID: "S_TEXT/UTF8" Void: (binary, len: 1159) Cluster MKV, 1 video track, 2 audio tracks, 1 subtitle track, 0:00:08, 24p /1.001 1: h264/AVC, Japanese, 1080p24 /1.001 "Hohushki" 2: AC3, Russian, 5.1 channels, 448kbps, 48kHz "MVO" 3: DTS, Japanese, 5.1 channels, 24 bits, 1509kbps, 48kHz "Original" 4: Subtitle (SRT) -ignoreEncryptИгнорировать защиту Blu-ray / HD DVD.-keepFullRangeСохранить fullrange flag.fullrange flag говорит о том, что используется полный (PC, 0-255), а не урезанный (TV, 16-235) диапазон цветов. Обычно флаг сохранять не требуется. Why does eac3to remove the fullrange flag from h264 streams?
Because there are almost always wrong, mostly due to a bug in the old Tandberg h.264 encoder that most European tv stations use. -XmbВырезать первые X Mb. Операция без пересжатия.Команда применима ко всем поддерживаемым форматам. Может быть полезна чтобы сделать сэмпл. Например, вырежем первые 23 Mb аудиодорожки: eac3to input.dts output.dts -23mb
-analyzeBitdepthОпределить разрядность (бит/сэмпл) дорожки.Понятие "разрядность" имеет смысл употреблять при разговоре о PCM и, как следствие, при разговоре о форматах сжатия без потерь, lossless (THD, DTS-HD MA, FLAC), т.к. только эти форматы полностью сохраняют исходный PCM. Величину бит/сэмпл невозможно определить в случае подавляющего большинства форматов сжатия с потерями, lossy (DTS, AC3, E-AC3, AAC, MP123 и др.). - В случае DTS в заголовок каждого фрейма пишется т.н. "Transmission Bit Rate" - это информация о разрядности исходного PCM (до кодирования). Эту информацию показывают eac3to, MediaInfo и др. - В случае AC3, E-AC3, AAC, MP123 никакая информация о разрядности исходного PCM в метаданных не прописывается. То, что показывает MediaInfo в этом случае - брехня полная. В случае DTS-HD MA и FLAC eac3to считывает информацию о разрядности с заголовка самого первого фрейма аудиодорожки. Крайне редко эта информация бывает ошибочна (см. примеры ниже). В случае THD информация о разрядности в метаданных не прописывается, а единственный способ узнать ее - декодировать дорожку полностью или воспользоваться -analyzeBitdepth (что, по сути, то же декодирование). Примеры: DTS-HD MAeac3to v3.24
command line: eac3to test.dtshd -analyzebitdepth ------------------------------------------------------------------------------ DTS Master Audio, 5.1 channels, 24 bits, 48kHz (core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz) Decoding with ArcSoft DTS Decoder... The original audio track has a constant bit depth of 16 bits. eac3to processing took 4 seconds. Done. FLACeac3to v3.24
command line: eac3to test.flac -analyzebitdepth ------------------------------------------------------------------------------ FLAC, 5.1 channels, 0:00:48, 24 bits, 689kbps, 48kHz Decoding FLAC... The original audio track has a constant bit depth of 16 bits. eac3to processing took 1 second. Done. THDeac3to v3.24
command line: eac3to "test.thd+ac3" -analyzebitdepth ------------------------------------------------------------------------------ TrueHD/AC3, 5.1 channels, 48kHz (embedded: AC3, 5.1 channels, 640kbps, 48kHz) Extracting TrueHD stream... Decoding with libav/ffmpeg... The original audio track has a constant bit depth of 16 bits. eac3to processing took 11 seconds. Done. -2pass"-2pass" activates 2 pass mode (can speedup seamless branching processing)You never have to use the "-2pass" option, eac3to will do 2 passes in any case where it's necessary, regardless of whether you used the "-2pass" option or not. The only sense of that option is to tell eac3to that probably 2 passes are necessary. In that situation eac3to does some things differently to speed up the processing a bit. It's only a performance optimization for situations where 2 passes are necessary. But it's never necessary to use that option...
The 2pass mode must be activated for every track you want it be active for. You should only use it for audio tracks. -neroaacenc=Указать расположение NeroAACEncoder'а. По умолчанию eac3to ищет его в своей собственной директории.-neroaacenc="C:\Whatever\neroAacEnc.exe" -log=Выбрать место сохранения лог-файла.-log="C:\Whatever\log.txt" -fullПредотвращает дизеринг при декодировании с помощью libav.По умолчанию все форматы сжатия с потерями eac3to-libav декодирует в 64-bit float point PCM, а затем eac3to понижает разрядность до 24-bit integer, используя TPDF Dither. С командой -full мы получим на выходе исходный 64-bit float point PCM (контейнер на выбор: WAV/W64/RF64) -simpleПрописать в WAV старый тип заголовка.Команда может быть использована, чтобы получить файл WAV, совместимый с устаревшими программами, т.к. по умолчанию в подавляющем большинстве случаев eac3to муксит PCM в WAVE_FORMAT_EXTENSIBLE. Например SFSE не понимает WAVE_FORMAT_EXTENSIBLE. "-simple" forces the output WAV file to have compatible (old style Lossless PCM) header instead of modern WAVE_FORMAT_EXTENSIBLE. Not recommended for multi-channel files. Mono and stereo files produced with this switch are just fine and can be processed by some older tools, which have no support for modern type header.
eac3to input.mp3 output.wav -simple
-double7Апконверт из конфигурации 6.1 в 7.1.Сигнал с канала BACK_CENTER будет распределен по каналам BACK_LEFT и BACK_RIGHT с соответствующим понижением уровня (-3dB). В итоге будет получен равноценный 7.1, т.е.: BL = 0,707 * BC BR = 0,707 * BC Все остальные каналы остаются на месте. Такой апмикс вполне корректен. Команда может быть полезна при необходимости создать FLAC 7.1 из DTS-HD MA 6.1 (многие устройства вывода не поддерживают конфигурацию 6.1). В eac3to v.3.24 имеется баг - программа путает каналы местами. Выход: дописывать: -0,1,2,3,5,6,4 Правильный апмикс: eac3to input.wav output.wavs -double7 -0,1,2,3,5,6,4
|
Главная » Правила, инструкции, советы, FAQ и т.д. » Правила, инструкции, FAQ-и » Обработка аудио и видео, FAQ-и |
Текущее время: 15-Дек 22:06
Часовой пояс: UTC + 3
Вы не можете начинать темы
Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы не можете скачивать файлы |