Videoforum - форум о видео и не только!


Вернуться   Videoforum - форум о видео и не только! > Видеосъёмка и монтаж. > Кодеки и кодеры, кодирование и конвертация.

Важная информация

Кодеки и кодеры, кодирование и конвертация. Тут обсуждаются вопросы изменения формата видео, качество работы кодировщиков, а так-же известные проблемы и решения соответствующие тематике раздела.

Ответ
 
Опции темы
Старый 31.03.2015, 10:55   #1
Жрец Нефтиды
Модератор
 
Аватар для Жрец Нефтиды
 
Регистрация: 15.07.2012
Адрес: Санкт-Петербург
Сообщений: 1,395
Сказал(а) спасибо: 344
Поблагодарили 539 раз(а) в 368 сообщениях
Вес репутации: 623
Жрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond repute
По умолчанию Тонкости конвертирования 2-х и 6-ти канального wav, DTS, WavPack и tak во flac

Перед тем, как приступать к конвертированию, разберём несколько довольно интересных теоретических моментов.
1. Все мои разработки предназначены исключительно для тех пользователей, которые стремятся полностью сохранить оригинальное звучание. Под оригинальным звучанием я подразумеваю то звучание, которое прописано в исходном файле. А не то, которое якобы лучше, глаже, ярче, сочнее, виниловее и так далее. И не то, что более соответствует исполнению на реальном концерте. Что прописано в исходном файле – то и слушаем, декодируя максимально точно.
2. Файл с расширением wav никогда не должен иметь объём больше, чем 4 Гб. Возможно, кое-кто мне возразит, что данное утверждение было справедливо для Win XP и потеряло свою значимость для Win 7 и выше. Однако мои исследования на Win 7 также подтвердили нежелательность использования wav более 4 Гб. Некоторые программы, например MKVExtractGUI2, могут создать wav с объёмом большим, чем 4 Гб. Другие программы, например EAC3TO, могут даже переработать такой wav и не выдать сообщений об ошибке. Но звук, побывавший хотя бы один раз в wav-файле объёмом более 4 Гб, будет, скорее всего, искажён. Поэтому непременно нужно отслеживать, чтобы звук ни разу, даже временно, не очутился в wav-файле объёмом более 4 Гб. Контейнер mkv – самое лучшее решение для несжатого звука размером более 4 Гб.
3. Файлы с расширением flac не имеют ограничений по объёму.
4. Файлы flac нельзя соединять без пережатия. Некоторые программы вроде бы и берутся это делать, но результат получается отбросовый. Матрёшечник, например, при попытке соединения честно предупреждает, что автор не будет оказывать поддержки. Поэтому если нужно получить один flac из нескольких исходников, то этим нужно озаботиться в момент сжатия.
5. Битность звука. Что такое 16-ти битный звук? Это означает, что каждый сэмпл представляет из себя целое число от -32768 до 32767. Рассмотрим сэмпл, имеющий значение в 100 раз меньшее, чем максимальное. То есть 327. Погрешность по отношению к идеально точному значению для такого сэмпла не превысит 0,5/327*100% = 0,16%. И это, подчёркиваю, для очень "тихого" сэмпла. Для "громких" сэмплов относительная погрешность будет меньше. Даже самая совершенная звуковоспроизводящая аппаратура имеет погрешность всяко больше 0,16%. Битность отвечает за точность представления сэмпла. Поэтому утверждаю: поднимать битность выше 16 бит есть понты и показуха, ничего общего не имеющая с реальной заботой о качестве. Проверено на самой лучшей аппаратуре.
Убедил тебя я или нет – решай сам. Для меня это так. Всё, что будет описано далее в этой статье, будет исходить из того, что если исходник имеет битность 24 или более, то её нужно понизить до 16.
6. Качественное понижение битности. Предположим, при понижении битности точный расчёт дал значение сэмпла 1578,53. Правильное решение: округлить по законам математики до 1579. Неправильное решение: просто отбросить дробную часть и округлить до 1578.
Я провёл серию довольно уникальных экспериментов по снижению битности с 24 до 16. Похоже, никто этот вопрос так вглубь не копал. В результате получилось следующее.
Неправильно решают задачу следующие программы: ffdshow; LAV; Super; xrecode2 в режиме "Предварительная обработка"; Виговский; команда AviSynth-а "ConvertAudioTo16bit". Правильно решают задачу: Фубар; Audacity; идущие одна за другой две команды AviSynth-а: "ConvertAudioTo32bit" и "ConvertAudioTo16bit".
Выбор невелик.
7. Некоторые программы при снижении битности вставляют в звук сглаживающий шум. Такое действие напрямую противоречит п. 1 этой статьи.
При этом в одних программах подмешивание шума можно отключить. В других же подмешивание шума будет производиться втихаря, и без оповещения пользователя об этом действии. Например, программа EAC3TO вставляет при понижении битности сглаживающий шум. Вот так. За тебя уже всё решили, и даже известить не удосужились. В рамках моих разработок я не вижу, где нужно было бы использовать EAC3TO.
8. Частота дискретизации. Существует теорема Котельникова, из которой следует, что, якобы, максимальная частота звука, который хранится в файле, равна частоте дискретизации, поделённой на 2. Почему якобы? Попробуем записать одну и ту же сложную музыку и на частоте дискретизации 44,1 кГц, и на 48 кГц. По Котельникову получаем: 44,1/2=22,05. Человеческое ухо воспринимает до 20 кГц, значит, 44,1 – более чем достаточно. Но вот на практике даже обычным ухом (правда, в хороших наушниках) можно уловить недостаточность некоторых звуков на частоте дискретизации 44,1. А вот на 48 всё будет на месте.
Но вот поднимать частоту дискретизации выше 48 кГц, по моим исследованиям, есть понты и показуха. Верить или нет – твоё дело. Поэтому если исходник имеет частоту дискретизации выше 48 кГц, то её нужно понизить до 48 кГц. Программы и подпрограммы для изменения частоты дискретизации называются ресемплерами, а сам процесс – ресемплированием.
9. Если исходник имеет частоту дискретизации меньше 48 кГц (например, 44,1 кГц), то оставляем её, как есть! Не следует пытаться ресемплировать такой звук! Данное действо явилось бы ничем иным, как поползновением посредством компьютерной обработки вписать в исходный звук того, чего там не было. Следовательно, противоречит п 1.
10. Невероятно, но факт: многие современный программы по умолчанию ведут запись с частотой дискретизации 44,1 кГц. Чтобы, типа, подогнать звук под некий "аудио стандарт" для устаревшего "железа". Как сказано в п. 8, 44,1 – маловато будет! Нужно вести запись только на 48 кГц! Если частота дискретизации исходника больше 48 кГц, то её следует понизить до 48 кГц. Но не до 44,1 кГц!
11. А если нужно соединить в один флэк два файла, первый с частотой дискретизации 48, второй – 44,1, то что нужно делать: повышать или понижать? Правильный ответ: навсегда забыть слово "монтаж", оставить каждый файл с его исходной частотой дискретизации и слушать их один за другим. Ну а если всё-таки очень нужно? Тогда поднимать 44,1 до 48.
12. Параметры 16 бит 48 кГц Lossless – та золотая середина, которая, с одной стороны, даёт качество, с другой стороны, не загоняет в аудофилию.
А если нужно понизить и частоту дискретизации, и битность, то в какой последовательности это надо делать? Вначале нужно понизить частоту дискретизации, потом битность. Программа Фубар именно так и устроена.
Фу – самая лучшая программа для обработки и конвертирования во флэк. Поэтому далее мы будем рассматривать именно эту программу и плагины к ней.
13. Плагины к Фу зачастую раздаются в виде файла с расширением fb2k-component. Собственно плагин получаем, распаковав этот файл 7-Zip. Полученный плагин кладём в подпапку "components" Фубара.
14. Какой алгоритм ресемплирования самый лучший? Вот здесь [Для просмотра данной ссылки нужно зарегистрироваться] приведены графики для различных алгоритмов и программ. Самый важный из графиков – тот, который называется "Passband" (Полоса пропускания). На графике "Passband" мы также видим линию идеального ресемплера: она идёт горизонтально до частоты, равной 0,5*конечную частоту дискретизации, после чего идёт вертикально вниз.
Будь бдителен! Вот здесь [Для просмотра данной ссылки нужно зарегистрироваться] тоже приводится сравнение. Но для повышения частоты дискретизации. Поэтому значимость таких исследований для нас нулевая.
Так какой же алгоритм самый лучший? На первый взгляд кажется, что SSRC [Для просмотра данной ссылки нужно зарегистрироваться] , а скачивать плагин для Фу будем непосредственно из кармана [Для просмотра данной ссылки нужно зарегистрироваться]
Однако. SSRC может растянуть или сжать длину звуковой дорожки. Иногда до полсекунды и более. Это никуда не годится, особенно если речь идёт о звуковой дорожке фильма. Дело здесь не в баге плагина, как то говорят некоторые писари. А вот в чём. SSRC пытается максимально точно передать частотные характеристики звука. Само по себе это похвально. Но для сохранения частотных характеристик SSRC в некоторых может местах растянуть или сжать звуковой поток. Поэтому SSRC мы использовать не будем.
Для ресемплирования мы будем использовать второй по качеству (а по сути, пожалуй, самый лучший) алгоритм – Сок модифицированный [Для просмотра данной ссылки нужно зарегистрироваться] Плагин для Фу берём отсюда:
[Для просмотра данной ссылки нужно зарегистрироваться]
Берём Сок модифицированный, а не Сок модифицированный 2!
Сок идеально точно сохраняет длину звукового потока.
15. Разберёмся с настройками плагина.
"Quality" естественно, ставим "Best".
Ползунок "Passband" выставляем в максимальное значение, то есть в 99%. Это означает, что полоса пропускания до значения 0,99*24000 будет идти горизонтально, 1% от 24000 будет отведён на изгиб, потом график пойдёт вертикально вниз. (24000 здесь – это 48000/2.) При таком значении "Passband" график будет максимально приближен к графику идеального ресемплера. Чем мы платим за 99%, по сравнению с тем, как если бы мы оставили ползунок в значении 95%? Несколько большим временем обработки – ну это пёс с ним. И увеличением артефактов эха.
"Allow aliasing / imaging". Вот это, пожалуй, самая хитрая и наименее объяснённая на сегодняшний день в русскоязычной Сети опция. Иногда она называется просто "aliasing". Если эта опция отключена, то в некоторых описаниях такое положение дел называется "anti - aliasing".
Термин "aliasing" пришёл из работы со шрифтами. Применительно к изменению частоты дискретизации его можно перевести как "ступенчатое пропускание – дорисовывание". Дальше объясню на примере. Предположим, исходник имеет частоту дискретизации 96 кГц. Это значит, что в нём могут присутствовать звуки с частотой 25 кГц, 26 кГц и так далее до 48 кГц. Если мы оставим птицу у "aliasing" и будем ресемплировать до 48 кГц, то некоторые звуки с частотами, большими 24 кГц, могут "ступенчато", то есть частично, просочиться в полученный файл. Плата за такое просачивание – искажение исходной частотной характеристики звуков с частотой до 24 Гц. Если мы уберём птицу у "aliasing", то все звуки с частотой более 24 кГц будут обрезаны, что нам и нужно, так как человеческим ухом они не слышны. Искажений частотной характеристики звуков с частотой 24 кГц и менее не будет. Это хорошо. Чем мы платим за "anti - aliasing"? Увеличением времени обработки – ну это пёс с ним. И увеличением артефактов эха.
Поэтому птицу у "aliasing" всегда нужно убирать.
Таким образом, две настройки мы ввели в наилучшее положение с точки зрения сохранения оригинальной частотной характеристики (звуки с частотой выше 24 кГц нам просто не нужны, так как человеческим ухом они не слышны), но в наихудшее положение с точки зрения артефактов эха.
А так ли уж сильно оно, это эхо? Эхо при ресемплировании бывает двух типов: пред-эхо и после-эхо. Пред-эхо – это эхо перед резким звуком (пример резкого звука – разряди гвоздём конденсатор перед микрофоном), после-эхо – это эхо после резкого звука. В английских описаниях про эхо при ресемплировании почему-то не указывается, о каком ресемплировании идёт речь: об увеличении частоты дискретизации или об уменьшении? А результаты будут совсем разными. Мои эксперименты с уменьшением частоты дискретизации не привели к обнаружению эха. В английских инструкциях можно прочитать, что частота эхового звука связана с меньшей из частот дискретизации. То есть если мы уменьшаем частоту дискретизации до 48 кГц, то эхо будет иметь частоту, не ощутимую на слух.
"Phase response" – фазовый отклик. Оставляем, как есть, то есть в 50%. При такой настройке пред-эхо и после-эхо будут находиться в равном количестве. Если мы загоним эту опцию в 0, то предварительного эха не будет вовсе, зато будет длинным после-эхо.
16. Входящий в состав Фу плагин ресемплирования PPHS идентичен ресемплеру, входящему в GoldWave 5.70. Он несколько хуже Сока.
17. При конвертировании никогда не микшируй 6 каналов в 2 канала, и не делай никакой другой обработки. Оставляй всё, как есть в исходнике. Вспоминаем п. 1.
18. Программу для сжатия во флэк flac.exe надо брать только с официального сайта [Для просмотра данной ссылки нужно зарегистрироваться] Чтобы программа заработала, в одной папке должны находиться два исполняемых файла: flac.exe и metaflac.exe.
Очень важно! В январе 2017 г. вышел релиз flac 1.3.2. В нём обнаружился неприятный баг. Если мы подаём на вход восьмиканальный звук (7.1), и, возможно, в некоторых других случаях, то этот флэк жмёт только до того размера, который, в пересчёте на wav, составил бы 4 гигабайта. И обрубает конец, выходящий за этот предел. У 1.3.1 такого безобразия нет. Что напортачил этот программист – не знаю. Так что берём 1.3.1 отсюда: [Для просмотра данной ссылки нужно зарегистрироваться]
Наша задача – получить конечный продукт, сжатый именно этой официальной программой flac.exe. А не сомнительными флэками, сидящими внутри конвертеров. Фу – единственная известная мне внешняя программа, которая гарантированно качественно передаёт звуковой поток на flac.exe.
19. А почему конечным продуктом должен являться именно флэк, а не какой-либо другой безпотерьный кодек? (Сжатие звука с потерями прошу не обсуждать ни со мной, ни в моих темах.) Я бы назвал следующие причины. Флэк абсолютно надёжен, изъезжен вдоль и поперёк; позволяет кодировать много каналов; при декодировании требует относительно мало ресурсов процессора; идеально присоединяется в качестве звуковой дорожки к фильму в контейнере mkv; идеально декодируется последним Виговским, что особенно важно для шестиканального звука; открытый код, постоянно развивается. Да, обезьяна и tak могут обойти флэк на пару-тройку процентов, но при современных объёмах памяти овчина выделки не стоит.
20. В качестве дополнительного инструмента нам может пригодиться самый лучший бесплатный многоканальный аудио эдитор Audacity. Будь бдителен! После инсталляции по умолчанию в настройках включено подмешивание шума! Пройдись по всем настройкам и отключи эту дрянь. Даже хорошие программы так и норовят всадить втихаря в звук отсебятину. Нужен глаз да глаз!
У Audacity есть один недостаток: очень маленькое количество типов файлов, которые он жрёт. По сути, это только wav и флэк. Ни в коем разе не устанавливай дополнение FFmpeg library (ffmpeg-win-2.2.2.exe). Да, декодировать различные сжатия это дополнение будет. Но декодировать ffmpeg будет непонятно как, настроить опции декодирования невозможно, в звук может быть всажено море отсебятины типа всё того же сглаживающего шума.
А что же делать, если звук нужно обработать в Audacity? Например, вырезать кусок с точностью до сэмпла, или вставить спереди несколько сэмплов тишины. Вначале прочитай эту статью до конца. Любой звук, отличный от wav и флэк, вначале перегоняем во флэк по описанной в данной статье методике. (Если объём несжатого звука получается меньше 4 Гб, то перегоняем в wav.) Полученный флэк или wav скармливаем Audacity. Обрабатываем. И результат сохраняем в формате флэк – последний релиз Audacity это делает хорошо, положение п. 18 к Audacity не относится.
21. Даже не помышляй при помощи Audacity ресемплировать. Сделает он это гораздо хуже, чем Сок. А вот уменьшить битность до 16 при помощи Audacity можно, эту операцию он выполнит абсолютно идентично Фу.
22. Если флэк-файл пришёл к тебе слева, то в нём могут быть тэги. На звук тэги никак не влияют, но мало приятного, когда они маячат. Если мы будем пережимать флэк во флэк, то тэги перейдут и в конечный файл. Поэтому тэги надо удалить. Самый лучший редактор тэгов – бесплатный русифицированный Mp3tag, лежит здесь: [Для просмотра данной ссылки нужно зарегистрироваться]
23. Самое приятное. Несколько лет назад, когда LAV ещё только доводился до ума, я предлагал довольно громоздкий метод декодирования dts. Сейчас LAV выполняет точное декодирование всех типов аудио кодеков. Разумеется, при правильной настройке LAV. Поэтому для декодирования мы будем использовать только LAV.
24. А зачем же всё-таки нужно перегонять исходный звук во флэк? Ну с wav всё понятно – для уменьшения объёма без потерь. А dts-то зачем?
Первая причина, довольно редкая, – если тебе нужно обработать звук в Audacity.
Вторая причина, самая частая. Звук для того и существует, чтобы его в какой-то момент времени прослушать. На сегодняшний день ИМХО самым лучшим аудио декодером, в котором идеально проработаны матрица, DRC и иные параметры, является Виговский. Ни один другой аудио декодер на сегодняшний день не достигает уровня Виговского по этим параметрам. Но. Виговский имеет ограниченное количество форматов для декодирования. Это ещё полбеды. У декодера Виговского есть два недостатка. Первый – при снижении битности с 24 до 16 он округляет значения не строго по законам математики, а всегда в меньшую сторону. Второй – звук dts он декодирует не так точно, как LAV.
А вот ac3, mp3, mp2, aac и флэк декодер Виговского декодирует идеально.
Поэтому если исходник сжат любым кодеком, кроме ac3, aac и MPEG, то я рекомендую пережать его во флэк. Особенно это относится к dts. Если битность исходника больше 16, то я настоятельно рекомендую снизить её до 16 при помощи Фу. Иногда при пережатии исходного dts 24 бит во флэк 16 бит объём может возрасти. При современных объёмах внешних USB дисководов я не вижу в этом проблемы. Также в некоторых Full HD релизах старых фильмов звук может быть представлен одноканальным wav 24 бит. Я бы тоже рекомендовал понизить его до 16 и загнать во флэк.
Конечно, пережимать или нет dts и другие форматы во флэк 16 бит – твоё личное дело. Спорить на эту тему не будем. Я всегда делаю, и в данной статье опишу, как это сделать качественно.
Всё. Присказка закончилась. Начинаем собственно конвертирование.
Если исходник отличен от wav, то первым делом засовываем только аудио дорожку (!) и только одну (!) в контейнер mka при помощи MKVToolNix GUI. Назовём полученный файл 1.mka. Кому лениво выполнить эту простейшую операцию – не читай дальше мою статью.
Если исходник – это wav с объёмом меньше 4 Гб или flac любого размера, то ничего с ним не делаем, и грузить в Фу их будем напрямую.
Здесь хочу отметить одну полезную особенность программы tsMuxerGUI. Предположим, у нас есть матрёшка с несжатым звуком объёмом более 4 Гб. Прогоняем mka через tsMuxerGUI, поставив точку у "Demux". На выходе получаем несколько wav-файлов с объёмом 4 Гб, последний файл может быть меньше. Загрузить все вместе эти wav-ы в Фу можно таким скриптом:
wavSource("1.wav", "2.wav", "3.wav")
Возможно, этот приём тебе когда-то пригодится.
Тянем Фу только с официального сайта [Для просмотра данной ссылки нужно зарегистрироваться] На все сборки своими руками даже не смотрим. Добавляем только два плагина: Сок модифицированный и AviSynth decoder, который берём отсюда: [Для просмотра данной ссылки нужно зарегистрироваться] Ну можно ещё SSRC для экспериментов.
Упаси тебя все жрецы устанавливать плагины для декодирования dts и тому подобные! Декодируют непонятно как.
Настраиваем LAV, как показано здесь:
[Для просмотра данной ссылки нужно зарегистрироваться]
На вкладке "Audio Settings" птицы стоят у многих битностей. При таких установках LAV будет выводить звук в той битности, в которой он находится в исходном файле. То есть если исходник 24 бит, то и на выходе из LAV получим 24 бит, если исходник 16 бит, то и на выходе из LAV получим 16 бит. Преобразование в 16 бит, если оно нужно, будет производиться в Фу. Таким образом, эту вкладку настроил и забыл.
На вкладке "Formats" птицы ставим у тех форматов, которые мы собираемся декодировать.
При помощи LAV описываемой здесь методикой мы можем декодировать, а потом превратить во флэк, любые исходные сжатия звука. А не только те, которые заявлены в заглавии темы.
Дальнейшая работа основана на скрипте AviSynth
[Для просмотра данной ссылки нужно зарегистрироваться]
А если кто не знает, что такое AviSynth, – ну что ж, и такое бывает.
Пишем "Блокнотом" скрипт:
DirectShowSource("1.mka")
Важно! Проверяем, чтобы тот формат, который мы собираемся декодировать, был отключён в Виговском и во всех других декодерах, кроме LAV!
Запускаем Фубар. Жмём "File" – "Add files…" А не что-то другое. Добавляем написанный нами скрипт (а не 1.mka).
Исходник в Фу мы открыли. Приступаем к кодированию.
Правый клик по дорожке. В выпадающем списке клик по "Convert". Далее клик по трём точкам. Настраиваем опции.
Опция "Output format".
"Output bit depth" – "16-bit".
"Dither" – ну разумеется "never".
Выделяем "FLAC". Жмём "Edit".
Ползунок "Compression Level" двигаем, конечно же, на 8.
ВАЖНО! В выпадающем списке "Encoder" задаём "Custom" (а не "FLAC")!
Теперь нам стали доступны все опции флэка.
В графе "Encoder file:" указываем, где у нас находится официальный flac.exe.
"Extension:" – "flac".
"Do not convert in multiple threads" – птицу лучше поставить. Тогда конвертирование будет производиться в однопотоковом режиме. Да, чуть медленнее, но гарантированно без сбоев.
"Format is" – "lossless (or hybrid)".
"Highest BPS mode supported:" – 16.
Самое интересное – графа "Parameters:" Обязательная часть этой графы такова:
-V -s --ignore-chunk-sizes -8 - -o %d
В эту строку мы можем добавить ещё какие-либо опции для flac.exe.
Важная тонкость для кодирования восьмиканального звука. Просто так восьмиканальник flac кодировать не будет. В опции Фубара надо добавить опцию --channel-map=none Откуда я её выудил? Сам flac.exe при кодировании из бат-файла подсказал. Так что графа "Parameters:" при кодировании восьмиканального звука будет выглядеть так:
-V --channel-map=none -s --ignore-chunk-sizes -8 - -o %d
Предположим, аудио дорожка имеет сдвиг. Сдвиг аудио дорожки со знаком минус означает, что спереди аудио дорожка "торчит" на заданное число миллисекунд. Всегда лучше делать так, чтобы "выступа" не было, и в матрёшечнике не надо было бы вводить задержку. Например, -9 ms – это 48*9=432 сэмпла. Поэтому подрежем звук спереди на 432 сэмпла. Для данного примера графу "Parameters:" заполним так:
--skip=432 -V -s --ignore-chunk-sizes -8 - -o %d
OK.
Back.
Опция "Processing". Тут задаём и настраиваем, если это нужно, ресемплирование.
OK.
Опция "Other". Птицы в ней везде убираем.
OK.
Жмём "Convert" И понеслась.
Очень важно!!! В момент конвертации успей посмотреть в нижнюю правую часть панели задач. Если ты всё сделал правильно, то там должны появиться два квадратика LAV: синий и белый. По окончании процесса конвертирования они исчезнут.
Предположим, нам нужно соединить несколько исходников в один. Открываем первый из них. Жмём "Add files". Добавляем второй. И так далее, сколько нам нужно соединить. "Ctrl" – "A". Все исходники выделились (стали синими). Правый клик по первой дорожке. В выпадающем списке клик по "Convert". Далее клик по трём точкам. Клик по "Destination". Точку ставим у "Merge all tracks into one output file".
Вопрос: А если мы при соединении введём опцию --skip=, то подрезан спереди будет только первый исходник, или каждый исходник? Ответ: Только первый. Потому что --skip= – это опция, относящаяся к flac.exe.
Смещение аудио в исходном файле определяем при помощи MediaInfo. В русском переводе в разделе "Аудио" допущена существенная неточность. Читаем: "Задержка видео:" Должно быть: "Задержка аудио относительно видео:".
Формат tak пока в контейнер mka не засовывается. Поэтому если к тебе пришёл tak, то вначале разожми его до wav. Программу найдёшь на официальном tak сайте [Для просмотра данной ссылки нужно зарегистрироваться] Там всё просто.
Действуя по описанной в этой статье методике, ты получишь гарантированно качественный flac.
Данная статья существенно переделана летом 2018 года: за последние девять лет с момента написания первого варианта многое ПО усовершенствовалось. Вся многостраничная перепись безнадёжно устарела, и читать её нет смысла.

Последний раз редактировалось Жрец Нефтиды; 10.08.2018 в 13:44.
Жрец Нефтиды вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
ecak9597 (06.10.2019)
Старый 31.03.2015, 15:57   #2
rococo795
Мыслитель
 
Регистрация: 23.09.2012
Возраст: 43
Сообщений: 586
Сказал(а) спасибо: 50
Поблагодарили 141 раз(а) в 112 сообщениях
Вес репутации: 495
rococo795 is a name known to allrococo795 is a name known to all
По умолчанию

Жрец... Буду ходатайствовать о вручении тебе Оскара и всяческих наград.....
rococo795 вне форума   Ответить с цитированием Вверх
Старый 31.03.2015, 20:08   #3
Жрец Нефтиды
Модератор
 
Аватар для Жрец Нефтиды
 
Регистрация: 15.07.2012
Адрес: Санкт-Петербург
Сообщений: 1,395
Сказал(а) спасибо: 344
Поблагодарили 539 раз(а) в 368 сообщениях
Вес репутации: 623
Жрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond repute
По умолчанию

Да? Тогда для закрепления такая задача. Есть mkv с шестиканальным dts 24 бит 48 кГц. Нужно очень точно вырезать одну песню, результат должен быть в формате flac.
Решение.
1. Перегоняем весь файл, как он есть, во флэк при помощи EAC3TO.
2. Открываем флэк-файл в Audacity. Надо заметить, что Audacity при открытии файла создаёт цепочку временных файлов размером в несколько сот мегабайт, в которых и хранится разжатый звук. Объём открываемого в Audacity файла ничем не ограничен, разве что ёмкостью винта.
3. Точно отмечаем начало и конец песни.
4. Сохраняем выделенный кусок в wav – если объём этого песенного wav не превысит 4 Гб. Поскольку ресемплировать в данной задаче не надо, то сохраняем сразу в wav 16 бит 6 каналов.
5. Прогоняем полученный wav через tsMuxerGUI.
6. Жмём вышедший из tsMuxerGUI-а wav командным bat-файлом.
Внутри Audacity на настоящий момент сидит не самый свежий релиз flac, поэтому и идём через wav.
Жрец Нефтиды вне форума   Ответить с цитированием Вверх
Старый 10.04.2015, 05:55   #4
rococo795
Мыслитель
 
Регистрация: 23.09.2012
Возраст: 43
Сообщений: 586
Сказал(а) спасибо: 50
Поблагодарили 141 раз(а) в 112 сообщениях
Вес репутации: 495
rococo795 is a name known to allrococo795 is a name known to all
По умолчанию

Цитата:
Сообщение от Жрец Нефтиды Посмотреть сообщение
Но звук, побывавший хотя бы один раз в wav-файле объёмом более 4 Гб, будет, скорее всего, обезображен

Почему??? Что произойдёт???

Цитата:
Сообщение от Жрец Нефтиды Посмотреть сообщение
Файлы с расширением flac не имеют ограничений по объёму
Почему флак не имеет а ваф имеет??? Откуда инфа???



Цитата:
Сообщение от Жрец Нефтиды Посмотреть сообщение
Что такое 16-ти битный звук? Это означает, что каждый сэмпл представляет из себя целое число от -32768 до 32767.
Вообще не прально ты понял.. Во первых почему целое?? А с плавающей точкой не может быть??? Думаю МОЖЕТ.. Второе - НЕ СЕМПЛ представляет число от -32768 до 32767 - а ОДИН канал семпла.. Понимаешь???



Цитата:
Сообщение от Жрец Нефтиды Посмотреть сообщение
То есть 327. Погрешность по отношению к идеально точному значению для такого сэмпла не превысит 0,5/327*100% = 0,16%. И это, подчёркиваю, для очень "тихого" сэмпла. Для "громких" сэмплов относительная погрешность будет меньше. Даже самая совершенная звуковоспроизводящая аппаратура имеет погрешность всяко больше 0,16%.
Я так понял что ты понял что эти 16 бит (от -32768 до 32767) описывают громкость???? А ХТО тогда описывает характер ТОНА???? Чё то думается ты ваще не то тут говоришь....



Цитата:
Сообщение от Жрец Нефтиды Посмотреть сообщение
Битность отвечает за точность представления сэмпла. .
Это совсем уже маразм.... Битность отвечает за характер за многообразие представления звука в семпеле... За его окрас..... Кстати 16 бит и 32 бит - на слух разница очень ощутимая... Очень...




Цитата:
Сообщение от Жрец Нефтиды Посмотреть сообщение
. Качественное понижение битности. Предположим, точный расчёт дал значение сэмпла1578,73. Правильное решение: округлить по законам математики до 1579. Неправильное решение: просто отбросить дробную часть и округлить до 1578.
Я провёл серию довольно уникальных экспериментов по снижению битности с 24 до 16. Похоже, никто этот вопрос так вглубь не копал. В результате получилось следующее.
Неправильно решают задачу следующие программы: ffdshow; LAV; Super; xrecode2 в режиме "Предварительная обработка"; Виговский; команда AviSynth-а "ConvertAudioTo16bit". Правильно решают задачу: Фубар; GoldWave; Audacity; идущие одна за другой две команды AviSynth-а: "ConvertAudioTo32bit" и "ConvertAudioTo16bit".
Выбор невелик. Я не рассматриваю, и не буду рассматривать всякие там сони, вегасы, саундфоржи и прочую дребедень, предназначенную для гражданина свербюлькина, у которого в ладонях свербит всадить в звук отсебятину
Даже не хочется дальше читать.... Выкинь эту статью... Как ты можешь качественно понизить битность??? То звук описавет три байта а потом из него, качественно!!!!! сделать 2????? То есть ужать с потерями -это будет Оченькачественно!!! Тут твои погрешности не при чём ваабсче.... как ты мой Ленинградский корешь!!! Из вот этого 010001111001000100011001 кааачвственно сделаешь вот в это 0000000000000000 ???? Как перенесёшь характер звука из 24 позиций в 16 ????
rococo795 вне форума   Ответить с цитированием Вверх
Старый 10.04.2015, 07:32   #5
rococo795
Мыслитель
 
Регистрация: 23.09.2012
Возраст: 43
Сообщений: 586
Сказал(а) спасибо: 50
Поблагодарили 141 раз(а) в 112 сообщениях
Вес репутации: 495
rococo795 is a name known to allrococo795 is a name known to all
По умолчанию

Жрец Нефтиды,

Жрец ты ответь на вопросы.... А потом про точку...... То что ты быстренько гуглишь это хорошо... Но это для детей... А мы с тобой крутые челы!!! Нам надо копать до воды!!! )))) Так что отвечай!!!! ))))
rococo795 вне форума   Ответить с цитированием Вверх
Старый 10.04.2015, 07:32   #6
rococo795
Мыслитель
 
Регистрация: 23.09.2012
Возраст: 43
Сообщений: 586
Сказал(а) спасибо: 50
Поблагодарили 141 раз(а) в 112 сообщениях
Вес репутации: 495
rococo795 is a name known to allrococo795 is a name known to all
По умолчанию

Я ж ведь и сам не осознал много моментов.....
rococo795 вне форума   Ответить с цитированием Вверх
Старый 10.04.2015, 09:48   #7
rococo795
Мыслитель
 
Регистрация: 23.09.2012
Возраст: 43
Сообщений: 586
Сказал(а) спасибо: 50
Поблагодарили 141 раз(а) в 112 сообщениях
Вес репутации: 495
rococo795 is a name known to allrococo795 is a name known to all
По умолчанию

Жрец Нефтиды,

Да... по ходу плавающую точку описывают минимум 4 байта... Эт я попозже осмыслю... Но - тогда ваще твои слова

Цитата:
Сообщение от Жрец Нефтиды Посмотреть сообщение
Убедил тебя я или нет – решай сам. Для меня это так. Всё, что будет описано далее в этой статье, будет исходить из того, что если исходник имеет битность 24 или более, то её нужно понизить до 16.

вообще не имеют отношения к слову "качество".... Повторю ...

Цитата:
Сообщение от rococo795 Посмотреть сообщение
Из вот этого 010001111001000100011001 кааачвственно сделаешь вот в это 0000000000000000
Как тут можно корректно перевести???? Я уж молчу из 4 байт в 2..... Где 16битный звук вааааще не понимает 32 битный с плав точкой... Он его ваще не может увидеть и осознать.......... И тут дело не в том что мол мы просто из 24 и 32 битного убираем что нашему слуху недосягаемо....!!!! Ведь нота Ля в 16 битном звуке имеет мульон окрасов... (Возьми у Скерцо синезатор и узреешь там что ноту Ля Скерцо может выложить тут с множеством и множеством окрасов...а каких не будет... я прессетами дополню).... А в 24 битном эту ноту Ля - можно дополнить ещё большим числом тембров и обертонов )) а в 32 битном - ещё большим..... Так что понижая битность - мы неизменно понижаем качество... Неизменно в разы сужаем окрас нашей ноты Ля!!!! А нота ЛЯ... Она не простая!!! Не просто так первый "Блатной аккорд на гитаре" - Ля минор!!! )))))) Тут чётко прослеживается связь.... Ля минор-блатной-кресты-Питер-Жрец.... понимаешь )))) Ну так вот.... Вывод.... 16 битный звук должен быть изначально 16 битным, если разговор о реальном качестве......... На мой взгляд есть один вариант, который будет намного ближе к изначальному 16 битному качеству при переводе в него из 24 или 32 бит... Это когда 24 и 32 битный звук НЕ родной.... А сделанный из 16 битного... Вот тогда я думаю перевод обратно в 16 может и будет МАТЕМАТИЧЕСКИ эквивалентен или близок родному 16 битному.... А если 24 и 32 родные и мы переводим в 16 - это 100% потеря.... И в якобы невоспринимаемом человеком спектре и в воспринимаемом....
rococo795 вне форума   Ответить с цитированием Вверх
Старый 10.04.2015, 09:52   #8
rococo795
Мыслитель
 
Регистрация: 23.09.2012
Возраст: 43
Сообщений: 586
Сказал(а) спасибо: 50
Поблагодарили 141 раз(а) в 112 сообщениях
Вес репутации: 495
rococo795 is a name known to allrococo795 is a name known to all
По умолчанию

Чувствую я, что внешнюю сторону дела воспринимаешь ты... )))
rococo795 вне форума   Ответить с цитированием Вверх
Старый 10.04.2015, 10:46   #9
Жрец Нефтиды
Модератор
 
Аватар для Жрец Нефтиды
 
Регистрация: 15.07.2012
Адрес: Санкт-Петербург
Сообщений: 1,395
Сказал(а) спасибо: 344
Поблагодарили 539 раз(а) в 368 сообщениях
Вес репутации: 623
Жрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond reputeЖрец Нефтиды has a reputation beyond repute
По умолчанию

Поясню на твоём примере, может, думать начнёшь.
010001111001000100011001 – это:
2^0 + 0 + 0 + 2^3 + 2^4 + 0 + 0 + 0 + 2^8 + 0 + 0 + 0 + 2^12 + 0 + 0 + 2^15 + 2^16 + 2^17 + 2^18 + 0 + 0 + 0 + 2^22 = 4690201
Максимальное значение сэмпла для 24-х битного звука равно 8388607
Значит, мы имеем здесь 0,559115595 от максимума.
Переводим это в 16-битный звук.
Максимальное значение сэмпла для 16-х битного звука равно 32767
Стало быть, при пересчёте на 16 бит значение сэмпла должно быть:
32767*0,559115595 = 18320.54
Софтина "гнойная" просто отбросила бы дробную часть.
А вот Фу округлит, строго по законам математики, это число до 18321.
Ну а теперь самостоятельно переведи 18321 в единицы и нули. Это точно будет не 16 нулей.
Жрец Нефтиды вне форума   Ответить с цитированием Вверх
Старый 10.04.2015, 19:31   #10
aleks_nsk
Модератор
 
Регистрация: 05.07.2010
Возраст: 57
Сообщений: 2,445
Сказал(а) спасибо: 722
Поблагодарили 1,039 раз(а) в 676 сообщениях
Вес репутации: 852
aleks_nsk has a reputation beyond reputealeks_nsk has a reputation beyond reputealeks_nsk has a reputation beyond reputealeks_nsk has a reputation beyond reputealeks_nsk has a reputation beyond reputealeks_nsk has a reputation beyond reputealeks_nsk has a reputation beyond reputealeks_nsk has a reputation beyond repute
По умолчанию

Сможешь найти разницу между твоим и [Для просмотра данной ссылки нужно зарегистрироваться] файлом (распиши подробно)
aleks_nsk вне форума   Ответить с цитированием Вверх
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WMA lossless против других (flac,ape,wv) zombie583 Кодеки и кодеры, кодирование и конвертация. 74 10.04.2015 05:17


Часовой пояс GMT +1, время: 21:36.




Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot


Рейтинг@Mail.ru