Операции кодирования в eac3to

Topic locked
 
Author Message

Серый1779 ®

Gender: Male

Longevity: 1 year

Posts: 733

Location: Украина

Post 02-Mar-2019 01:55

[Quote]

Операции кодирования в eac3to.-

Операции кодирования

-

Кодирование в АС3

eac3to input output.ac3 -192
Поддерживается кодирование только в стандартные конфигурации: 1.0, 2.0 и 5.1.
Параметрами задается желаемый битрейт: -640, -448, -384, -320, -224, -192 и др.
-640 - используется по умолчанию для 5.1
-448 - используется по умолчанию для 2.0 и 1.0
Кодировать в АС3 таким способом не рекомендуется, т.к.:
1). eac3to в качестве енкодера использует aften, качеством кодирования уступающий кодировщикам от Dolby Lab.
2). eac3to не позволяет никоим образом его настроить. Только выбрать битрейт, чего не всегда достаточно. Кодирование в eac3to происходит с Dialog Normalization = -31 dB, остальные параметры в "none".

Для любителей сравнений

Сэмпл WAV 2.0 / 16 bits / 48 kHz
Закодирован в АС-3 192 kbps:
-eac3to v3.24 (command line: eac3to test.wav test.aften-eac3to.ac3 -192)
-SFSE 1.0 (DDEncoder v. 6.2.2)
Дорожки декодированы с помощью azid в 24-bit.
В результате:
1).
Амплитудно-частотная характеристика — Sony Sound Forge, Adobe Audition.
2).
Подсчёт SNR (больше — лучше) —CompAudio:
SNR (eac3to-aften) = 20.412 dB (Gain for File B = 0.99302)
SNR (DD6) = 25.387 dB (Gain for File B = 0.99859)
3).
Измерение PEAQ (больше — лучше) — PQevalAudio:
Objective Difference Grade (eac3to-aften): -0.576
Objective Difference Grade (DD6): -0.256-Вывод очевиден.
На др. схемах, битрейтах - результат проверки примерно тот же.
Лучшее качество кодирования в АС3 обеспечивает Dolby Digital Encoder. Он доступен в плагинах к Sony Vegas, Sound Forge, Steinberg Nuendo и др; внедрен в Sonic Foundry Soft Encode, Dolby Media Producer Suite.-Для справки:
Библиотеку libAften.dll, идущую в комплекте с eac3to, можно попробовать заменить на более новую, но правильную работу обновленной связки eac3to-libAften madshi не гарантирует. Более того:
Newer libaften builds often break compatability with older builds. Personally I don't really like this approach, but well, that's the way it is. It allows the libav developers to be more flexible. Anyway, in order to support newer libaften builds I sometimes have to update eac3to. Of course then older builds won't work, anymore.
К настоящему моменту (eac3to 3.24) aften в последний раз обновлялся 12th January 2009 (т.е. в eac3to 3.00).

Кодирование в DTS

eac3to input output.dts -768
eac3to не умеет создавать DTS Padded, он всегда кодирует в DTS Compact.
Параметрами задается желаемый битрейт:
-768
-1536 (используется по умолчанию).
В качестве кодировщика eac3to использует Surcode DTS Encoder. Программа должна быть зарегистрирована в системе.
Для справки:
1). DTS Padded отличается от DTS Compact наличием нулей, дополняющих поток от "Actual BitRate" до "Targeted BitRate". Дополнительной полезной информации о закодированном сигнале DTS Padded в себе не несет, а размер его всегда больше аналогичного DTS Compact. При нынешнем положении дел использовать DTS Padded смысла не имеет, это пережиток прошлого.
2). С помощью eac3to можно преобразовать DTS Padded в DTS Compact (иначе говоря - удалить нулевые биты), для этого достаточно пропустить дорожку ч/з eac3to:
eac3to input.dts output.dts
3). Лучшее качество кодирования в DTS, возможность кодировать в DTS-HD и более тонкие настройки параметров кодирования обеспечивает кодировщик от DTS Inc. - DTS-HD Master Audio Suite.

Кодирование во FLAC

eac3to input output.flac
Кодирование происходит всегда в режиме макс. сжатия.
eac3to легко поддерживает кодирование во FLAC без ограничений на размер входного / выходного файла.
Другие приложения (BeHappy, Foobar и пр. оболочки, использующие flac-win.exe или libflac.dll) не способны закодировать во FLAC файл WAV > 4Gb (ограничение связано с самим контейнером WAV. Извлеченный из него PCM поддается кодированию без ограничений на размер).

Кодирование в AAC

Кодирование осуществляется при помощи NeroAACEncoder'а.
Выходные контейнеры: MP4 или M4A, по желанию.
Качество выставляется от 0.00 до 1.00 (highest quality):
eac3to input output.m4a -quality=0.35
По умолчанию происходит кодирование с -quality=0.50.
Подробности:
1). Енкодер сам подбирает профиль AAC. Он опирается на параметр Q. Переход - это ~0.3, т.е.
-quality=0.29 и ниже - кодируется в HE-AAC
-quality=0.31 и выше - кодируется в LC-AAC
2). Енкодер добавляет ~30 мс тишины к началу дорожки. Подробнее раз, подробнее два.
Выход: удалять 30 мс еще до кодирования:
eac3to input output.mp4 -33ms -quality=0.35
4). Вместо "quality" можно задать "target bitrate":
eac3to input output.m4a -256
6). NeroAACEncoder не способен кодировать схему 6.1. В этом случае eac3to автоматичеки повышает число каналов до 7.1, в логе будут такие строчки:
eac3to v3.24
command line: eac3to 1.dtshd 1.aac -quality=0.20
------------------------------------------------------------------------------
DTS Master Audio, 6.1 channels, 16 bits, 48kHz
(core: DTS-ES, 6.1 channels, 16 bits, 1509kbps, 48kHz)
NeroAacEnc doesn't support 6.1 encoding. Will double the 7th channel.
Doubling 7th channel...

Remapping channels...
Decoding with ArcSoft DTS Decoder...
Remapping channels...
Encoding AAC <0.20> with NeroAacEnc...
The original audio track has a constant bit depth of 16 bits.
The processed audio track has a constant bit depth of 16 bits.
eac3to processing took 2 seconds.
Done.
Ни к чему хорошему такое кодирование не приведет, см. описание команды "-double7".
7). Иногда енкодер зависает в процессе.

Использование STDOUT

eac3to поддерживает stdout, а значит получаемый WAV можно на лету кодировать во множество др. форматов (MP3, OGG, AAC, WV и др.). Условие только одно - енкодер должен поддерживать stdin.
Несколько замечаний:
- файл stdout.wav на выходе из eac3to должен называться именно так: stdout.wav
- eac3to при записи в stdout не пишет отчет в командной строке, а лог-файл пишет только в родную директорию → log.txt ищите в папке с eac3to.exe.
- читайте help соответствующего енкодера.
Популярные ситуации:
I. Кодирование в MP3
В общем случае, при кодировании с помощью LAME:
eac3to input stdout.wav [-options] | lame [-options] - output.mp3
т.е., например:
eac3to input.dts stdout.wav -down2 -normalize | lame -V 3 - output.mp3
кодирование в режиме VBR с качеством V=3
eac3to input.eac3 stdout.wav -nero -resampleto44100 -no2ndpass | lame -b 128 - output.mp3
кодирование в режиме CBR с битрейтом 128kbps.
II. Кодирование в OGG
В общем случае, при кодировании с помощью oggenc-libvorbis или oggenc-aotuv:
eac3to input stdout.wav [-options] | oggenc2 [-options] - -o output.ogg
например:
eac3to input.ac3 stdout.wav -libav -no2ndpass | oggenc2 -q 5 - -o output.ogg
III. Кодирование в AAC
Если хочется проконтролировать процесс кодирования в NeroAACEncoder'е полностью, можно поступить так.
eac3to input stdout.wav [-options] | neroaacenc [-options] -if - -of output.mp4
например:
eac3to input.dtshd stdout.wav | neroaacenc -ignorelength -q 0.235 -lc -if - -of output.mp4
[Profile] [PM]
Display posts:    
Topic locked

Current time is: 09-Dec 16:18

All times are UTC + 3



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum