ТранскрибаторТранскрибатор
Практическая инструкция

WAV больше 4 ГБ: как использовать RF64 и проверить конец записи

Почему длинный PCM-файл может читаться не полностью, как выбрать rf64 auto в FFmpeg и проверить совместимость результата.

03 октября 2026Транскрибатор
Длинный WAV → RF646 часов PCM ≈ 5.79 ГиБПроверить последний ответРасширение не доказывает полноту
Проверенные ограниченияРазобранный примерРабочий шаблон
1. РазмерPCM + каналы + времяМесто для двух файлов2. ФорматКороткий RF64Открыть в рабочем ПО3. ПолнотаДлительность + чтениеПрослушать конец
Поддержка RF64 на короткой пробе и полнота длинного результата проверяются отдельно. Оба подтверждения нужны до дальнейшей работы.

Разделяйте размер аудио и поддержку контейнера

Длинный несжатый PCM-звук быстро занимает много места. В обычном RIFF/WAVE поля размера ограничены примерно 4 ГиБ. RF64 расширяет представление размера, но не все программы поддерживают его одинаково. Поэтому воспроизведение начала большого WAV не доказывает, что доступна вся запись.

Один гигабайт в десятичном счёте равен миллиарду байт, а один гибибайт — 1 073 741 824 байтам. Для оценки границы полезно помнить разницу между ГБ и ГиБ. Накладные данные контейнера тоже занимают место, поэтому расчёт PCM — оценка, а не обещание точного размера готового файла.

RF64 не сжимает звук и не восстанавливает отсутствующие фрагменты. Если рекордер действительно остановился раньше окончания встречи, смена контейнера не добавит продолжение. Сначала установите, проблема в фактической записи, чтении файла или создании рабочей копии.

На 3 октября 2026 года описание режимов ниже сверено с официальной документацией FFmpeg. Эталон EBU Tech 3306 перенаправляет к действующей рекомендации ITU; не называйте старую публикацию новым стандартом. Практическая проба здесь выполнена на маленьком синтетическом файле, а не на реальной многочасовой встрече.

Оцените размер перед экспортом

Для несжатого PCM приблизительное число байт равно частоте дискретизации × количеству каналов × байтам на отсчёт × длительности в секундах. Для 24 бит используйте 3 байта, для 16 бит — 2. Эта формула не относится к MP3 или другому сжатому звуку.

Например, шесть часов стерео PCM 48 кГц и 24 бита дают 48 000 × 2 × 3 × 21 600 = 6 220 800 000 байт без накладных данных. Это примерно 5.79 ГиБ, то есть уже больше обычной границы RIFF/WAVE. У многоканальной записи объём растёт ещё быстрее.

Сверьте исходный кодек, каналы, частоту и разрядность до выбора команды. Не превращайте стерео в моно или 24 бита в 16 только ради обхода размера, если такие изменения не соответствуют задаче. Контейнер, сжатие и параметры звука — отдельные решения.

Оставьте место для исходника и результата одновременно. Проверяйте свободное пространство именно там, куда выводится файл. Успешная обработка первых минут не означает, что диска хватит до конца многократной копии.

Создайте отдельную копию с явным режимом RF64

В FFmpeg для WAV доступны режимы rf64 auto, always и never. Auto начинает обычный RIFF-файл и переключается в RF64 при необходимости. Always создаёт RF64 независимо от размера, что удобно для короткой проверки совместимости. Never сохраняет обычный RIFF и не подходит для выхода, который превышает его ограничения.

Для исходного WAV с поддерживаемым PCM можно попробовать копирование аудиопотока без перекодирования:

ffmpeg -n -i long_pcm.wav -map 0:a:0 -c:a copy -rf64 auto long_checked.wav

Здесь выбирается первая аудиодорожка, -c:a copy копирует её данные, а -n не позволяет молча перезаписать существующий результат. Замените имена на свои и проверьте, что выбрана нужная дорожка. Команда не обещает перенос всех служебных данных исходного контейнера.

Это не универсальная команда для любого сжатого входа. Если поток не подходит для WAV или нужны новые параметры PCM, требуется осознанное декодирование и выбор кодека. Подготовка формата для расшифровки помогает отдельно проверить такие изменения. Переименование расширения не создаёт RF64.

Проверьте маленькую пробу и полный результат

Сначала создайте короткую копию с -rf64 always и откройте её в целевом приложении. Это проверит способность приложения прочитать RF64 до затрат на большой экспорт. Но успешная двухсекундная проба не подтверждает обработку многочасового файла.

В учебной проверке на FFmpeg 6.1.1 синтетический двухсекундный PCM-тон был скопирован с auto и always. Первый файл начинался сигнатурой RIFF, второй — RF64; оба показывали длительность 2.000 секунды, а хеши декодированных PCM-данных совпали. Файл больше 4 ГиБ в этой пробе не создавался.

После большого экспорта сравните ожидаемую и полученную длительность. Выполните проверку чтения аудио через FFmpeg для всего файла, затем послушайте начало, середину и самый конец. Особенно важен последний завершённый ответ: формально длинный файл может содержать тишину вместо нужного продолжения.

Повторите проверку в приложении, где запись будут монтировать или слушать. Возможность чтения в FFmpeg и возможность чтения в другом плеере — разные факты. Если короткая RF64-проба не поддерживается, выберите согласованный рабочий формат или части записи с картой исходных времён.

Подготовьте запись к текстовой обработке

Сохраните большой исходник и проверенную рабочую копию отдельно. Рядом запишите формат контейнера, кодек, длительность и результат проверки конечного приложения. Если файл разделён, сохраните порядок частей и время начала каждой в полном разговоре.

Перед загрузкой для получения текста аудио в Транскрибаторе сравните рабочий формат, размер и длительность с условиями, которые показывает сервис. Поддержка RF64 сервисом в этой статье не заявляется: при необходимости подготовьте допустимую копию и проверьте её звук.

Если конец текста отсутствует, вернитесь к аудио: доступен ли последний фрагмент в рабочей копии и завершилась ли обработка. Не запускайте повторное распознавание вслепую, пока не установлено фактическое состояние первого результата.

Завершайте подготовку после трёх проверок: файл содержит ожидаемое аудио целиком, целевое приложение его читает и рабочая копия пригодна для следующего шага. Один размер или одно расширение не заменяют эти подтверждения.

Учебный пример

Маленькая проба проверяет формат, большая — полноту

Учебный расчёт для шестичасовой записи показывает объём PCM без заголовков. Это вымышленная длительность, а не рассказ о клиентском проекте. Отдельная фактическая техническая проба использовала только синтетический двухсекундный тон.

Стерео PCM 48 кГц / 24 битаДанные без заголовковВывод для планирования
30 минут518 400 000 байт ≈ 0.48 ГиБУчитывать накладные данные и поддержку
3 часа3 110 400 000 байт ≈ 2.90 ГиБЕщё не гарантия совместимости файла
6 часов6 220 800 000 байт ≈ 5.79 ГиБОбычного RIFF/WAVE недостаточно
2 секунды с rf64 alwaysМаленький учебный RF64Тест поддержки, не тест размера >4ГиБ
rf64 auto2 секунды → RIFFИсходные PCM-данныеСинтетический тонrf64 always2 секунды → RF64Тот же хеш PCMБольшой файл не испытан
Сигнатуры RIFF и RF64 получены в фактической пробе с синтетическим тоном. Совпадение PCM подтверждено только для этого маленького примера.

Результаты этих проверок нельзя объединить в утверждение «шестичасовой файл уже проверен». Короткий тест подтверждает создание RF64 и неизменность PCM в выбранной команде; реальную длинную запись нужно проверять целиком и в рабочем приложении.

Карточка приёмки большого аудиофайла

Рабочая заготовкаВыделите и скопируйте
Исходный файл / резервная копия:
Контейнер / кодек:
Частота / каналы / разрядность:
Ожидаемая длительность:
Расчёт PCM и свободное место:
Версия FFmpeg:
Режим rf64 / команда:
Короткий RF64 открыт в приложении:
Финальная длительность проверена:
Полное чтение без ошибок:
Последний ответ прослушан:
Метаданные отдельно сверены:
Рабочая копия для сервиса:
Части и исходные времена при разделении:

Частые вопросы

RF64 уменьшает размер?

Он расширяет представление размера контейнера. Сжатие звука выполняют другими средствами и проверяют отдельно.

Можно просто переименовать WAV?

Расширение не меняет структуру контейнера. Создайте корректную копию поддерживаемым инструментом.

Зачем режим always на маленьком файле?

Так можно проверить поддержку RF64 в выбранном приложении. Полноту большого файла эта проба не подтверждает.

Нужно ли использовать auto для любого входа?

Параметр относится к WAV-выходу. Сам кодек и возможность копирования аудиопотока нужно проверить отдельно.

Начало играет — значит всё хорошо?

Проверьте длительность, чтение всего файла и конец записи. Начало не доказывает доступность продолжения.