Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

CTPAX-X _ Ресурсы _ MP3

Автор: Siberian GRemlin Dec 14 2018, 05:05

Столкнулся с, можно сказать, чудесами. Игра «Age of Empires 2 HD» отказывается проигрывать до конца часть файлов из русских версий первоисточника, не важно, официального или пиратского перевода. Хотя, английские проигрывает прекрасно. Опытным путём удалось выяснить, что перекодирование файлов с большим качеством решает проблему, но увеличивает размер файлов и, вероятно, наносит потери качеству. Например, в официальном переводе файлы кодированы в 56 кбит/c и в игре обрываются почти все, но если их перекодировать в 64 кбит/c, то начинать проигрываться многие из них, а обрываются только очень длинные по сравнению с остальными — перекодирование в 128 кбит/c решает проблему с ними.

Пробовал прогонять файлы разными версиями ffmpeg, с пережатием и без, но положительный итог приносит лишь перекодирование в большее качество потока. Отмечу, что у английских файлов низкое качество сжатие как было, так и осталось. В папке с игрой есть несколько библиотек, я пробовал заменить одну из них на самую последнюю версию «libmp3lame.dll», но это не дало ничего. Русские файлы прекрасно проиграются любыми программами. Что значит «ttv» и откуда он есть, понять не удалось.

CODE
avutil-ttv-51.dll
libcurl-ttv.dll
libeay32-ttv.dll
libmfxsw32.dll
libmp3lame-ttv.dll
ssleay32-ttv.dll
swresample-ttv-0.dll


Сложилось впечатление, что игра неправильно считает длительность файлов по качеству сжатия, либо файлы кодированы как-то не так.

Пробовал исправить с помощью http://mp3val.sourceforge.net/, но она не изменила ни байта в файлах 0_0.
CODE
for %%I in (*.mp3) do (
    mp3val "%%I" -f -t
)


Кто-нибудь что-нибудь слышал о подобных проблемах или может есть какой-то «правильный» «каноничный» кодировщик? Или может нужно просто исправить заголовок файлов или добавить «хвост»?

Версия ffmpeg 2012 года выдаёт такие сообщения, судя по которым, размеры каких-то пакетов он «усекает».


Автор: -=CHE@TER=- Dec 14 2018, 16:20

Я тут что подумал - Grom PE лет 10 назад давал ссылку на https://web.archive.org/web/20130903191232/http://omion.dyndns.org/mp3packer/.
См. там файл "mp3packer.html" - это основная страница, ибо сайт уже неживой.
Есть зеркало http://wiki.hydrogenaud.io/index.php/MP3packer.
Чем это программа хороша (цитата с зеркала): "Provides the ability to losslessly turn VBR files into larger CBR files to humor players which can't handle VBR". Я очень давно последний раз её запускал - вполне возможно, что она может и обычный CBR поднять losslessly с 56 до 128. Понимаю, что место сожрёт, но, во-первых, твой установщик со звуковыми файлами не будет больше занимать (конвертируешь при установке перевода), а, во-вторых, качество не пострадает.
Потому что судя по постфиксу "-ttv-" разработчики игры эти библиотеки с какой-то зависимостью (я так понимаю) компилировали и их так просто, наверное, хрен заменишь. К тому же это вряд ли проблема именно LAME кодека - он должен нормально работать. Скорее всего, действительно, они продолжительность от битрейта считают (рукалицо - HD переиздание такое переиздание), поэтому если даже ты её найдёшь и исправишь чтобы русские файлы работали, то отвалятся все остальные - звуки, музыка и что там ещё есть.
Как-то так попробуй (mp3packer будет в пустое место свои копирайты строкой шарашить):
mp3packer.exe -b 128 b1a.mp3

Автор: Siberian GRemlin Dec 15 2018, 02:06

Спасибо. Это то, что нужно.

Автор: -=CHE@TER=- Mar 31 2019, 06:34

QUOTE(-=CHE@TER=- @ Dec 14 2018, 16:20) *
Я тут что подумал - Grom PE лет 10 назад давал ссылку на https://web.archive.org/web/20130903191232/http://omion.dyndns.org/mp3packer/.
Справделивости ради стоит сказать, что об этой программе ещё Axsis писал в http://www.forum.ctpax-x.org/index.php?showtopic=96#entry1484. Так что кому тут пальма первенства принадлежит в деле нахождения сей полезной утилиты я не знаю, но точно не мне. Забавно, что мы все отвечали в той теме, но за 10 лет, видимо, всё забыли.