Рипер неправильно отображает волновую форму в mp3, aac

За 2 месяца никто на мой вопрос так и не смог ответить, печально.

Закидываю в Рипер видео mp4, в котором звук в aac, результат вывожу в mp3 и простой софтинкой Yamb подменяю полученный звук в исходном видео.

Да просто надо рабочий процесс выстроить правильно, и не использовать никакие lossy форматы сжатия в промежуточном виде, только на финальной стадии.

Выливаете вавку, отдаёте её клиенту, пусть он в монтажке уже подставляет новую звуковую дорожку сам, какие ещё mp3? Это вообще формат не для того предназначенный.

Если просят самому заменить звук в видео — либо считать видос из самого рипера, либо через ffmpeg (с сохранением оригинального видеопотока без перекодирования, звук кодируется в AAC непосредственно из WAV):

ffmpeg -i video.mp4 -i audio.wav -c:v copy -map 0:v:0 -c:a aac -b:a 320k -map 1:a:0 out.mp4
 
надо рабочий процесс выстроить правильно
обеими руками "за"! :) К сожалению, если клиент не профессионал, и как обычно ему нужно "вчера", нет времени проводить среди него ликбез :)
Да, стояла задача самому подменить звук в видео. Спасибо за синтаксис ffmpeg, этот вопрос я именно так и решил. Остался познавательный интерес, можно ли настроить отображение волны в Рипере, чтоб тишина в начале всё же была видна?
 
  • Like
Реакции: fakeitback
Остался познавательный интерес, можно ли настроить отображение волны в Рипере, чтоб тишина в начале всё же была видна?
С этим вопросом советую обратиться на оф.форум https://forum.cockos.com/ . Там присутствует разработчик и может ответить на данный вопрос.
 
  • Like
Реакции: Andrew_G
За 2 месяца никто на мой вопрос так и не смог ответить, печально. Последние посты никак не коррелируют с изначальным вопросом.


Вовсе не "та же самая проблема" у Вас. Появление блоков тишины при кодировании в mp3 - это проблема самого кодека, от программы-звукового редактора, в которой происходит это кодирование, ничего не зависит. Можно даже из командной строки кодировать, без применения внешних программ. Миллиард раз обсосано, избавиться от этого нельзя никак.
Кстати, в Аудиоджангл можно грузить основные версии (не за-лупленные, пардон) в обоих форматах, а лупы - только в wav, Вас за это никто не отругает


Если повнимательнее почитать начало темы, вывод будет прямо противоположный - нихрена тут Рипер не молодец, ибо скрывает от пользователя начальный блок тишины. Этот блок в файле mp3/mp4 фактически присутствует, но из-за чрезмерной любезности (которую, видимо, отключить нельзя) Рипера мы не подозреваем о его существовании, из-за чего возникают проблемы при выполнении специфических задач, как случилось у меня.
А причем здесь именно блок тишины? Я сам занимаюсь видеомонтажом и речь шла о том, что разные размеры файлов ПО ВРЕМЕНИ при рендере одного и того же музыкального фрагмента в Рипере. Именно так, как показано на вашем первом скриншоте. Это и есть проблема.
 
Да в чём проблема то, объясните? Не используйте mp3, этот формат никак не предназначен для работы с видео, и проблем не будет.
Проблема именно во временных сдвигах mp3, но это же вроде проблема mp3 а не рипера
 
Да в чём проблема то, объясните? Не используйте mp3, этот формат никак не предназначен для работы с видео, и проблем не будет.
Была бы моя воля, я бы его вообще запретил!))) Но, например на Audiojangle только wav и мр3. Если выкладывать лупы только в формате wav, есть большой шанс упустить потенциальных покупателей. Людям нравится, когда есть из чего выбирать. Сам такой!) А в мр3 луп-уже не луп!) Ну как-то так...
 
Дело не в служебной информации, а в том, что mp3-формат изначально не предназначен для аккуратного зацикливания или стыкования дорожек. Тишина в начале файла — это задержка связки кодер-декодер. Если ее отрезать, то все встанет на свои места. А тишина в конце файла возникает из-за того, что mp3-файл кодирует информацию блоками-фреймами (как и Audio-CD), и длина WAV-файла может не совпадать с целым числом фреймов.

Чтобы обойти эти проблемы и позволить mp3-файлам хранить дорожки произвольной длины, не кратной фрейму, был введен VBR-тег (он применяется и в режимах CBR/ABR тоже). Его записывают не все кодеры и считывают не все декодеры, поэтому его поддержку нужно тестировать в конкретной DAW путем сравнения точного хронометража файлов. Если поддержка имеется (как в RX версий 7+), то mp3-файл будет точно совпадать по длине и синхрону с WAV.

Про mp4-aac точно не скажу, но, по-моему, там изначально формат уже рассчитан на произвольную длину файла.
 
Дело не в служебной информации, а в том, что mp3-формат изначально не предназначен для аккуратного зацикливания или стыкования дорожек. Тишина в начале файла — это задержка связки кодер-декодер. Если ее отрезать, то все встанет на свои места. А тишина в конце файла возникает из-за того, что mp3-файл кодирует информацию блоками-фреймами (как и Audio-CD), и длина WAV-файла может не совпадать с целым числом фреймов.

Чтобы обойти эти проблемы и позволить mp3-файлам хранить дорожки произвольной длины, не кратной фрейму, был введен VBR-тег (он применяется и в режимах CBR/ABR тоже). Его записывают не все кодеры и считывают не все декодеры, поэтому его поддержку нужно тестировать в конкретной DAW путем сравнения точного хронометража файлов. Если поддержка имеется (как в RX версий 7+), то mp3-файл будет точно совпадать по длине и синхрону с WAV.

Про mp4-aac точно не скажу, но, по-моему, там изначально формат уже рассчитан на произвольную длину файла.
Есть и VBR и CBR и ABR. Чем они отличаются друг от друга? (если кратко)
UPD: Почитал, но до конца все равно не понятно что влияет и как на нашу проблему в топике
 
Последнее редактирование:
Я говорил не про форматы кодирования (CBR, ABR, VBR), а про VBR-тег — не связанную с этими форматами запись в файле.

На "проблему в топике" влияет выбор mp3-кодера и mp3-декодера. С одними все чики-пуки, а с другими — облом.
 
@Alexey Lukin, ну если декодер ещё можно в Рипере изменить (даже Джастина попросив об этом, показав проблему), то на энкодер, которым закодировали скаченный (полученный) файл мы повлиять не можем.
Можно ли придумать какой то способ реконструкции?
Если он в принципе существует, то его можно было бы попробовать реализовать скриптами в Рипере и закрыть проблему раз и на всегда.
 
попробовал, работает такой вариант

ffmpeg -i input.mp3 -ignore_unknown -map 0:a -map_metadata -1 -codec:a copy -bitexact output.mp3

1611214533095.png




 

Вложения

  • Like
Реакции: Aleksandr Oleynik
Ой, сомнительно. А что именно сработало? Вроде, картинка особо не поменялась: та же тишина в начале. Правда, я в Рипере не спец.

Если кодер неизвестен, то универсального решения не существует. Если известен, то можно скриптом сдвигуть декодированную волну на нужное время назад (оно фиксированно для каждого кодера-декодера). Это совместит начало, но не поможет концу файла.
 
  • Like
Реакции: Aleksandr Oleynik

Сейчас просматривают