Дисклеймер
Методы используемые в этой статье сжимают медиа файлы с большой потерей качества. Прежде чем удалить исходные файлы убедитесь, что сжатые вас удовлетворяют.
В статье могут присутствовать неточности.
Статья не покрывает все параметры и тонкости использования
ffmpeg
, за дополнительной информацией обращайтесь к документации или другим ресурсам.
TL;DR
Для сжатия аудио-файлов лучшим вариантом является использование кодека libopus
в режиме vbr on
с битовой частотой 48k
. Это позволило сжать 22 ГБ аудио до 5 ГБ с приемлемым качеством звука.
ffmpeg -i input.mp3 -c:a libopus -b:a 48k -frame_duration 60 -vbr on output.opus
Введение
В данной статье представлены способы сжатия медиа файлов с целью уменьшения их размера. И используемые методы не являются методами сжатия без потерь, и они находятся на грани "ну в целом не мыло и глаз не режет" или "вроде бас нормальный и не шипит", но потерю качества можно легко заметить или услышать.
Моя мотивация. Со временем у меня собралось огромное количество мемов, видео записей событий и музыки. Которые в сумме занимают более 50 ГБ и мне нужно это хранить и передавать. У меня нет возможности увеличить свое электронное пространство и часто кидаю мемы, которые иногда весят более 10 МБ. И уменьшив размер медиа файлов у меня появится больше свободного места и передаваться эти файлы станут быстрее.
Сведения об ffmpeg
FFmpeg — инструмент для обработки мультимедийных данных, который позволяет кодировать, декодировать, транскодировать, мультиплексировать, демультиплексировать, потоково передавать, фильтровать и проигрывать практически любые аудио- и видео-форматы.
Установка. Если у вас Windows, следуйте инструкциям на страницах Download FFmpeg или Как установить программу FFmpeg в Windows. Иначе загружайте из пакетного менеджера.
Синопсис:
ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...
Общие параметры:
-i url
- Указывает URL входного файла.-y
- Перезаписывает выходные файлы без запроса.-n
- Не перезаписывает выходные файлы и немедленно завершает работу, если указанный выходной файл уже существует.-c[:stream_specifier] codec
или-codec[:stream_specifier] codec
- Выбирает кодек (кодировщик при использовании перед выходным файлом или декодер при использовании перед входным файлом) для одного или нескольких потоков.codec
— это имя декодера/кодировщика или специальное значениеcopy
(только для выхода), указывающее, что поток не должен быть перекодирован. Для каждого потока применяется последняя соответствующая опция-c
.-filter[:stream_specifier] filtergraph
- Создает фильтр-граф, указанный вfiltergraph
, и использует его для фильтрации потока.
Примеры использования:
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mkv # Конвертация MP4 в MKV с использованием кодеков libx264 и aac
ffmpeg -i input.mp4 -q:a 0 -map a output.mp3 # Извлечение аудиодорожки в формате MP3 с высоким качеством
ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:00 -c copy output.mp4 # Обрезка видео с 1 минуты до 2 минут без перекодирования
ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4 # Изменение разрешения видео до 1280x720
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4 # Наложение водяного знака на видео в позиции (10,10)
Сжатие аудио
Есть два формата в которые можно перекодировать MP3 для его сжатия, а именно: AAC и OPUS.
Общие параметры аудио кодеков
-b
- Устанавливает битовую частоту в битах/с.-acodec codec
- Устанавливает аудио-кодек. Это псевдоним для-codec:a
.-aq q
- Устанавливает качество аудио (специфично для кодека, VBR). Это псевдоним для-q:a
.
Из MP3 в AAC
Кодировщики:
Fraunhofer FDK AAC
libfdk_aac
audiotoolbox Encoder
aac_at
(обычно доступен только на MacOS)Native FFmpeg AAC Encoder
aac
(По умолчанию)
Профили:
aac_low
(1): Low Complexity AAC (LC) (По умолчанию) - Высокая совместимость, низкое потребление процессорной мощности. Аудио приемлемо звучит с битовой частотой 128k.aac_he
(4): High Efficiency AAC (HE-AAC) - Низкая совместимость, высокое потребление процессорной мощности, хорошо звучит на низких битовых частотах. Аудио приемлемо звучит с битовой частотой 64k.aac_he_v2
(28): High Efficiency AAC version 2 (HE-AACv2) - Улучшенная версия HE-AAC, лучшее качество звука на низких битовых частотах. Аудио приемлемо звучит с битовой частотой 32k.
Какой кодек выбрать? Если доступен выбирайте aac_at
, иначе libfdk_aac
.
Для AAC-LC:
aac_at
≥libfdk_aac
> (aac
).Для HE-AAC неясно, что лучше:
aac_at
илиlibfdk_aac
.
Какой профиль выбрать? Выбирайте HE-AACv2.
Я выбрал aac_at
c профилем HE-AACv2, если вы собираетесь использовать libfdk_aac
я думаю у вас не будет большого отличия.
Параметры
-q:a
- Устанавливает качество для режима переменной битовой частоты (VBR).-profile:a
- Устанавливает аудио профиль.-b:a
- Устанавливает битовую частоту в битах/с. Если битовая частота не указана явно, она автоматически устанавливается на подходящее значение в зависимости от выбранного профиля. Если включен режим VBR, эта опция игнорируется.
Параметры aac_at
-
-aac_at_mode
- Устанавливает режим управления битовой частотой. Возможные значения варьируются от -1 до 3:auto
(-1): VBR, если указано глобальное качество; CBR в противном случае (По умолчанию)cbr
(0): Постоянная битовая частотаabr
(1): Средняя битовая частота в долгосрочной перспективеcvbr
(2): Ограниченная переменная битовая частотаvbr
(3): Переменная битовая частота
Параметры libfdk_aac
-
-vbr
- Устанавливает режим VBR, от 1 (низшее качество) до 5 (высокое качество). Значение 0 отключает VBR, и включается CBR (постоянная битовая частота). В настоящее время только профильaac_low
поддерживает кодирование VBR.0
: отключить VBR (По умолчанию)1
: 32 кбит/с на канал2
: 40 кбит/с на канал3
: 48-56 кбит/с на канал4
: 64 кбит/с на канал5
: около 80-96 кбит/с на канал
Из MP3 в OPUS
При малых битовых частотах OPUS звучит хорошо только в стерео, в моно звучит хуже чем AAC.
Кодировщик доступен только один libopus
. Он не поддерживает кодирование, основанное на качестве.
Параметры
-b:a
- Устанавливает битовую частоту в битах/с.-
-vbr
- Устанавливает режим VBR. Опция-vbr
в FFmpeg имеет следующие допустимые аргументы, с эквивалентными опциями в opusenc в скобках:off (hard-cbr)
: Использует кодирование с постоянной битовой частотой.on (vbr)
: Использует кодирование с переменной битовой частотой (по умолчанию).constrained (cvbr)
: Использует кодирование с ограниченной переменной битовой частотой.
-frame_duration
- Устанавливает максимальный размер кадра или длительность кадра в миллисекундах. Аргумент должен быть одним из следующих значений: 2.5, 5, 10, 20, 40, 60. Меньшие размеры кадров обеспечивают меньшую задержку, но меньшее качество при заданной битовой частоте. Размеры больше 20 мс интересны только при достаточно низких битовых частотах. Значение по умолчанию — 20 мс.
Пример команд
ffmpeg -i input.mp3 -c:a aac output.m4a # Явное указание кодека aac (aac), который используется по умолчанию
ffmpeg -i input.mp3 -c:a libopus output.m4a # Использование кодека libopus (opus)
ffmpeg -i input.mp3 -c:a libfdk_aac output.m4a # Использование кодека libfdk_aac (aac)
ffmpeg -i input.mp3 -c:a libfdk_aac -profile:a aac_he -b:a 64k output.m4a # Использование профиля AAC HE первой версии
ffmpeg -i input.mp3 -c:a libfdk_aac -profile:a aac_he_v2 -b:a 32k output.m4a # Использование профиля AAC HE второй версии
ffmpeg -i input.mp3 -c:a aac_at -profile:a 4 -b:a 64k output.m4a # Использование профиля AAC HE первой версии для кодека aac_at (aac)
ffmpeg -i input.mp3 -c:a aac_at -profile:a 28 -b:a 32k output.m4a # Использование профиля AAC HE второй версии для кодека aac_at (aac)
ffmpeg -i input.mp3 -q:a 10 output.m4a # Указание качества 10 (0-14, 0 - самое высокое качество)
ffmpeg -i input.mp3 -b:a 128k output.m4a # Указание битовой частоты
Таблица сравнения кодеков
Оригинальный файл |
Кодек |
Битовая частота (Качество) |
Режим кодирования |
Размер файла (МБ) |
Относительный размер (%) |
Качество на мой слух |
---|---|---|---|---|---|---|
11 - Drop Dead.mp3 |
mp3 |
192k |
4.333 |
|||
aac |
192k |
cbr |
1.100 |
25 |
Идентично |
|
aac |
192k |
abr |
1.114 |
25 |
Идентично |
|
opus |
192k |
cbr |
4.356 |
100 |
Идентично |
|
opus |
192k |
cvbr |
4.342 |
100 |
Идентично |
|
opus |
192k |
vbr |
4.115 |
94 |
Идентично |
|
aac |
16k |
cbr |
0.468 |
10 |
Ужасно |
|
aac |
16k |
abr |
0.474 |
10 |
Ужасно |
|
aac |
16k |
cvbr |
0.497 |
11 |
Плохо |
|
opus |
16k |
cbr |
0.369 |
8 |
Плохо |
|
opus |
16k |
cvbr |
0.365 |
8 |
Плохо |
|
opus |
16k |
vbr |
0.324 |
7 |
Плохо |
|
aac |
32k |
cbr |
0.739 |
17 |
Средне |
|
aac |
32k |
abr |
0.746 |
17 |
Лучше среднего |
|
aac |
32k |
cvbr |
0.812 |
18 |
Похоже на оригинал |
|
opus |
32k |
cbr |
0.730 |
16 |
Лучше среднего |
|
opus |
32k |
cvbr |
0.725 |
16 |
Похоже на оригинал |
|
opus |
32k |
vbr |
0.663 |
15 |
Похоже на оригинал |
|
aac |
48k |
cbr |
1.100 |
25 |
Похоже на оригинал |
|
aac |
48k |
abr |
1.114 |
25 |
Похоже на оригинал |
|
aac |
48k |
cvbr |
1.194 |
27 |
Похоже на оригинал |
|
opus |
48k |
cbr |
1.094 |
25 |
Похоже на оригинал |
|
opus |
48k |
cvbr |
1.089 |
25 |
Похоже на оригинал |
|
opus |
48k |
vbr |
1.006 |
23 |
Похоже на оригинал |
|
aac |
0 (117.551k) |
vbr |
2.671 |
61 |
Похоже на оригинал |
|
aac |
7 (52.184k) |
vbr |
1.195 |
27 |
Похоже на оригинал |
|
aac |
14 (19.059k) |
vbr |
0.447 |
10 |
Хуже среднего |
|
3 - This Is Halloween.mp3 |
mp3 |
192k |
4.647 |
|||
aac |
192k |
cbr |
1.180 |
25 |
Идентично |
|
aac |
192k |
abr |
1.191 |
25 |
Идентично |
|
opus |
192k |
cbr |
4.672 |
100 |
Идентично |
|
opus |
192k |
cvbr |
4.669 |
100 |
Идентично |
|
opus |
192k |
vbr |
4.396 |
94 |
Идентично |
|
aac |
16k |
cbr |
0.502 |
10 |
Ужасно |
|
aac |
16k |
abr |
0.505 |
10 |
Ужасно |
|
aac |
16k |
cvbr |
0.538 |
11 |
Хуже среднего |
|
opus |
16k |
cbr |
0.396 |
8 |
Плохо |
|
opus |
16k |
cvbr |
0.392 |
8 |
Плохо |
|
opus |
16k |
vbr |
0.336 |
7 |
Плохо |
|
aac |
32k |
cbr |
0.793 |
17 |
Средне |
|
aac |
32k |
abr |
0.795 |
17 |
Лучше среднего |
|
aac |
32k |
cvbr |
0.866 |
18 |
Похоже на оригинал |
|
opus |
32k |
cbr |
0.783 |
16 |
Лучше среднего |
|
opus |
32k |
cvbr |
0.779 |
16 |
Похоже на оригинал |
|
opus |
32k |
vbr |
0.702 |
15 |
Похоже на оригинал |
|
aac |
48k |
cbr |
1.180 |
25 |
Похоже на оригинал |
|
aac |
48k |
abr |
1.191 |
25 |
Похоже на оригинал |
|
aac |
48k |
cvbr |
1.256 |
27 |
Похоже на оригинал |
|
opus |
48k |
cbr |
1.174 |
25 |
Похоже на оригинал |
|
opus |
48k |
cvbr |
1.170 |
25 |
Похоже на оригинал |
|
opus |
48k |
vbr |
1.066 |
22 |
Похоже на оригинал |
|
aac |
0 (116.671k) |
vbr |
2.844 |
61 |
Похоже на оригинал |
|
aac |
7 (50.616k) |
vbr |
1.244 |
26 |
Похоже на оригинал |
|
aac |
14 (19.209k) |
vbr |
0.483 |
10 |
Хуже среднего |
Заключение
Я решил использовать кодек libopus
в режиме vbr on
с битовой частотой 48k
. И в итоге смог сжать 22 ГБ аудио в 5 ГБ.
Вот какой скрипт я использовал для этой задачи:
#!/opt/homebrew/bin/fish
function user_confirmation -d "Get confirmation from user" -a message
set -q message[1]
or set -f message "Do you want to continue?"
while true
read -l -P "$message [y/N] " answer
switch $answer
case Y y
return 0
case '' N n
return 1
end
end
end
set COMPRESSED ./Compressed
set YANDEX_MUSIC ./YandexMusic
set YOUTUBE_MUSIC ./YoutubeMusic
if not test -d $YANDEX_MUSIC
and not test -d $YOUTUBE_MUSIC
echo One or all source directories not exist.
exit 1
end
if not test -d $COMPRESSED
mkdir $COMPRESSED
end
if user_confirmation "Do you want to reset COMPRESSED directory"
rm -r $COMPRESSED/*
read -l -P "Copy (c) or Move (m) from source directories? [C/m] " answer
switch $answer
case M m
mv $YANDEX_MUSIC/* $COMPRESSED/
mv $YOUTUBE_MUSIC/* $COMPRESSED/
case '' C c
cp -a $YANDEX_MUSIC/. $COMPRESSED
cp -a $YOUTUBE_MUSIC/. $COMPRESSED
case '*'
exit 1
end
or exit 1
end
set files (find $COMPRESSED -type f -name '*.mp3')
for file in $files
set new_file (path change-extension '' $file)
ffmpeg -i "$file" -c:a libopus -b:a 48k -frame_duration 60 -vbr on "$new_file".opus
and rm "$file"
end
Переписанный нейросетью скрипт для bash (не запускал):
#!/bin/bash
user_confirmation() {
local message="${1:-Do you want to continue?}"
while true; do
read -p "$message [y/N] " answer
case $answer in
[Yy]* ) return 0;;
[Nn]* | "" ) return 1;;
* ) echo "Please answer yes or no.";;
esac
done
}
COMPRESSED="./Compressed"
YANDEX_MUSIC="./YandexMusic"
YOUTUBE_MUSIC="./YoutubeMusic"
if [ ! -d "$YANDEX_MUSIC" ] && [ ! -d "$YOUTUBE_MUSIC" ]; then
echo "One or all source directories do not exist."
exit 1
fi
if [ ! -d "$COMPRESSED" ]; then
mkdir "$COMPRESSED"
fi
if user_confirmation "Do you want to reset COMPRESSED directory"; then
rm -r "$COMPRESSED"/*
read -p "Copy (c) or Move (m) from source directories? [C/m] " answer
case $answer in
[Mm]* )
mv "$YANDEX_MUSIC"/* "$COMPRESSED"/
mv "$YOUTUBE_MUSIC"/* "$COMPRESSED"/
;;
[Cc]* | "" )
cp -a "$YANDEX_MUSIC"/. "$COMPRESSED"
cp -a "$YOUTUBE_MUSIC"/. "$COMPRESSED"
;;
* )
exit 1
;;
esac
else
exit 1
fi
files=$(find "$COMPRESSED" -type f -name '*.mp3')
for file in $files; do
new_file="${file%.mp3}"
ffmpeg -i "$file" -c:a libopus -b:a 48k -frame_duration 60 -vbr on "${new_file}.opus"
if [ $? -eq 0 ]; then
rm "$file"
fi
done
Источники
Комментарии (19)
dyadyaSerezha
13.01.2025 20:23Завести 2-3 лишних аккаунта в гугле или мэйл.ру и 50 GB облака в кармане. Зачем так мучить себя пережатиями?
aborouhin
13.01.2025 20:23Тогда уж купить терабайт на Яндекс.Диске по цене чашки кофе в месяц и не мучить себя распределением файлов между разными аккаунтами, если мы про облачные хранилища :)
P.S. А музыка с битрейтом 64k - это, конечно, для очень непритязательного слуха или для очень плохого устройства воспроизведения...
David_Osipov
13.01.2025 20:23Согласен. Музыку лучше жать (два канала) от 128 до 160k. Всё же 64k - это чисто для речи или моно.
aborouhin
13.01.2025 20:23У меня локальная коллекция вообще неcжата (FLAC'ов терабайта 2 давненько уже любовно собрано), но не буду утверждать, что я прямо такой аудиофил, что реально различу lossless и 320k, да и даже 192k... Просто если можно хранить без сжатия - зачем хранить со сжатием. Ну и, честно говоря, последние годы редко что-то из этой коллекции слушаю, стриминговые сервисы всё же гораздо удобнее...
dyadyaSerezha
13.01.2025 20:23У меня откуда-то 1 ТБ на мэйл.ру и бесплатно. Может, когда-то давно акция была... А насчёт кофе, чел же специально написал - не может. Может, он учитель или терапевт)
jamiederinzi
13.01.2025 20:231Тб мэйл раздавал за участие в тестировании облака, когда оно только вышло. У меня такое же. И 250 на Яндексе в качестве извинения за то, что авто обновление ЯДиска однажды убило винду.
Wesha
13.01.2025 20:23Откуда-то пахнуло тёплым ламповым 1996-м годом, когда лишний десяток мегабайт неиллюзорно напрягал...
Al_Pollitruk
13.01.2025 20:23Аналогично, сразу Lame с командной строкой вспомнил и первую пачку пережатых в mp3 Audio-CD.
ahabreader
13.01.2025 20:23Вижу 2 хороших варианта:
Всегда оставлять звук в изначальном lossy-формате, не перекодировать.
Не думая выбирать Opus, доверяя графику с их сайта, где он на всех битрейтах не хуже, чем... чем AAC-LC и HE-AACv1, судя по всему. К тому же ffmpeg к libopus даёт хороший интерфейс, а с доступом к лучшему энкодеру AAC от Apple есть сложности (может быть проще не через ffmpeg).
На битрейтах ниже 100kbps выбирать xHE-AAC, если имеется его поддержка и не волнует его огороженность. На графике в предыдущем пункте профиля xHE-AAC точно нет, а на низких битрейтах он лучше Opus'а (на 128kbps Opus и разные AAC примерно равны).
---
aac_low ... Аудио приемлемо звучит с битовой частотой 128k.
aac_he ... Аудио приемлемо звучит с битовой частотой 64k.
aac_he_v2 ... Аудио приемлемо звучит с битовой частотой 32k.128kbps у AAC-LC оценивается как весьма хорошее качество, а остальные профили этот уровень дают на тех же 128kbps, лишь подтягивая качество на низких "явно непрозрачных" битрейтах и позволяя забраться без ушных кровотечений ещё пониже:
В случае с HE-AACv1 это можно так объяснить: HE-AACv1 = AAC-LC + Spectral Band Replication, который восстанавливает высокие частоты, а их выкидыванием энкодер занимается на низких битрейтах.
aac_he (4): High Efficiency AAC (HE-AAC) - Низкая совместимость
Но есть обратная совместимость с AAC-LC - информация об SBR проигнорируется и файл проиграется как обычный AAC-LC, без высоких частот.
А HE-AACv2 = AAC-LC + SBR + Parametric Stereo будет играться как моно AAC-LC. Тестовые файлы (первый HE-AACv1, второй HE-AACv2).
И раз я начал говорить про самый новый профиль: USAC в xHE-AAC не опирается на AAC-LC, обратной совместимости нет.
Размеры больше 20 мс интересны только при достаточно низких битовых частотах.
Но почему? Используем Opus не для реального времени => задержка декодирования не важна => выкручиваем на максимум ради качества, не углубляясь в величину выигрыша (5%?.. 1%?..).
MountainGoat
13.01.2025 20:23не углубляясь в величину выигрыша (5%?.. 1%?..).
А может быть 0.00...01%, при этом есть риск нарваться на декодер, не умеющий нестандартное значение.
ahabreader
13.01.2025 20:23Оно не дефолтное, но стандартное.
Ответ на мой вопрос в том, что качество может быть хуже, но так говорят про OPUS в файлах на любых битрейтах.
For file encoding, using a frame size larger than 20 ms will usually result in worse quality for the same bitrate because it constrains the encoder in the decisions it can make - https://wiki.xiph.org/OpusFAQ#What_frame_size_should_I_use?
Спецификация: режимы Hybrid и CELT-only не поддерживают размеры выше 20 мс - https://datatracker.ietf.org/doc/html/rfc6716#page-15
О режимах: OPUS - это 2 кодека в одном, SILK для голоса на битрейтах около 8-16 kbps и CELT для музыки. И их одновременный гибрид (SILK для <8 кГц, CELT для >8 кГц) для качественного голоса (16-64 kbps).
На гитхабе xiph/opus говорят, что framing overhead ощутим в RTP, но не в файлах и "If your application is encoding low bitrate music to file, then the best frame size to use is 20 ms, not 60 ms, not 120 ms. Using larger frame sizes just concatenates 20 ms frames, but it prevents the encoder from making optimal decisions".
iliatee
13.01.2025 20:23Для сжатия материала пользуюсь Shutter Encoder. Под капотом там конечно ffmpeg.
Из полезного:
В DaVinci на винде можно выводить только в DNx, который Мак никак не читает. Поэтому дополнительно перегоняю в ProRes, чтобы кому-нибудь отдать.
Часто приходится перекладывать из контейнера в контейнер, потому что исходники открываются неправильно. Ну и эта программа может выполнять эту функцию.
Иногда требуется обрезать видео, но не хочется лишний раз перекодировать из 264 в 264. Это ухудшает качество, так что можно обрезать без перекодирования в названной программе.
Набор функций №1 Набор функций №2
RolexStrider
13.01.2025 20:23Я для себя нашел опытным путем следующее решение: все что действительно стоящее - в FLAC в "холодном хранилище" на внешнем HDD, а все что "ношу с собой" - в Nextcloud, и тоже в Opus, правда 96k. Ни я, ни один из знакомых разницы с FLAC не слышит (на KOSS Porta Pro). Но это если жать из Lossless. Пережимать MP3 в Opus, да еще и 48k - это... даже не знаю чем и на чем слушать чтобы назвать "приемлемым".
voldemar_d
13.01.2025 20:23Для сжатия аудио-файлов лучшим вариантом является использование кодека
libopus
в режимеvbr on
с битовой частотой48k
Когда пишут про частоту, обычно это относится к частоте дискретизации (sample rate).
Когда пишут о потоке данных (не обязательно сжатых), обычно используют термин "битрейт", или data rate/bit rate.
Alinaki
Пережать mp3 в opus
Скажи мне, что не понимаешь принципов пережатия, не говоря мне...
MountainGoat
Нигде и никогда не видел нормальной информации, насколько звук перегнанный из 320к mp3 в opus 64k будет хуже, чем 64k полученные из оригинала. Конечно, приняв за условие что mp3 не битый.
Напомню, что половина поганости mp3 происходит из-за того, что раньше было распространено множество кодировщиков с просто бракованными алгоритмами. Один независимо от битрейта обрезал все частоты выше 16к Гц, другой вносил столько шумов, что фактически выход всегда был эквивалентен 16кб/с битрейта, независимо от размера файла и т.д.
David_Osipov
Вопрос не только в "поганых кодировщиках" прошлого, но и в принципиальных различиях в работе психоакустических моделей MP3 и Opus. Насколько "интеллектуальнее" Opus справляется с уже "упрощенным" MP3 потоком? Не усиливает ли повторное квантование артефакты, внесенные MP3? Но это только из того, что знаю и слышал - глубоко не копал на практике.
gfiopl8
Пережми и послушай сам. Если это музыка и ты не услышишь большую разницу то... возможно ты слушаешь через дешевые колонки из 1995.
Alinaki
64к будут погано звучать и там и там, тут ты прав. Если это уровень, к которому ты стремишься — не вопрос.