Не удается добавить некоторые mp3-файлы в аудиопроект. для этого приходится перегонять mp3 в wav и их уже добавлять в проект аудиодиска. могу приложить пример такого файла если требуется или дать дополнительную информацию по нему. амарок такие файлы играет без проблем ошибка при добавлении: Невозможно обработать следующие файлы из-за неподдерживаемого формата: Вы можете вручную преобразовать эти звуковые файлы в wave, используя другую программу, поддерживающую звуковой формат и после этого добавить wave-файлы в проект K3b.
Давайте, что-ли, файл...
Дайте файл, пожалуйста.
отправил в личку
Результаты на данный момент таковы: Натравил /usr/bin/file на проблемный файлик... Имеем: RIFF (little-endian) data, WAVE audio, MPEG Layer 3, stereo 44100 Hz Т.е. это RIFF, содержащий WAVE с 'MPEG Layer 3'-кодированием, а не mp3. Обнаружено, что k3b понимает RIFF+WAVE_FORMAT_PCM ("wav"), но не то, что имеем. От баги пока не отказываюсь )
ух, ясно. собственно остался только резонный вопрос -- чем пользуется k3b для преобразования звуковых файлов, что не умеет RIFF/mp3?
(In reply to comment #5) > ух, ясно. > собственно остался только резонный вопрос -- чем пользуется k3b для > преобразования звуковых файлов, что не умеет RIFF/mp3? k3b перебирает все доступные декодеры (дебаг): k3b: (K3bAudioDecoderFactory::createDecoder( /tmp/a.wav ) k3b: (K3bFLACDecoder) /tmp/a.wav: not a FLAC file k3b: (K3bMpcWrapper) Not a valid musepack file: "/tmp/a.wav" k3b: (K3bOggVorbisDecoder) not an Ogg-Vorbis file: /tmp/a.wav k3b: (K3bWaveDecoder) /tmp/a.wav: wrong format: k3b: format: 85 k3b: channels: 2 k3b: samplerate: 44100 k3b: bits/sample: 0 k3b: (K3bFFMpegFile) found codec for /tmp/a.wav Input #0, wav, from '/tmp/a.wav': Duration: 00:03:50.5, start: 0.000000, bitrate: 96 kb/s Stream #0.0: Audio: mp3, 44100 Hz, stereo, 96 kb/s k3b: (K3bLibsndfileDecoder) Supported file format but file is malformed. k3b: (K3bAudioDecoderFactory::createDecoder( /tmp/a.wav ) no success Здесь видим, что пользуясь libsndfile k3b решил, что формат файла неправильный. На самом деле, k3b действительно, не хочет рассматривать как wav что-то, отличное от RIFF WAVE_FORMAT_PCM. Можно, конечно, это ограничение выкусить, ведь в анализируемом файле - RIFF WAVE_FORMAT_MPEGLAYER3. Такая комбинация не запрещена. Правда, мне пока не ясно, насколько это wav, т.е. обязан ли wav содержать исключительно PCM. Использовав libffmpeg, программа обнаружила там MPEG, но почему-то отказалась использовать кодек. Следствие продолжается.
ffmpeg -i файл.mp3 /tmp/a.wav сделал нормальный wav который легко потом добавился в audio-проект
(In reply to comment #7) > ffmpeg -i файл.mp3 /tmp/a.wav сделал нормальный wav который легко потом > добавился в audio-проект неее. не то это. сейчас принципиальный вопрос стоит: а чего это нельзя RIFF с чем-то, отличным от PCM в аудиопроект вставлять? ведь в принципе, при правильном выборе кодека может же k3b автоматом в wav перегнать!
Решение найдено. Только текст ("теги") из RIFF не читаются (
Итак. Результаты: sndfile-плагин отказывается признавать такие файлы, wave-плагин можно заставить распознавать, но конвертированный wav содержит шум, ffmpeg-плагин может распознать и перевести в wav, но... В исходниках ffmpeg-плагина есть следующий комментарий: only allow tested formats. ffmpeg seems not to be too reliable with every format. mp3 being one of them sadly. Most importantly: allow the libsndfile decoder to do its thing. Вобщем, не знаю, что там ненадёжно, у меня "тот самый файл" перекодировался успешно. Я могу сделать сборку с поддержкой плагином "непротестированных" форматов. Вас устроит это?
я вот думаю, что лучше. а почему sndfile не признает такие wave файлы? может таки его попробовать запинать?
(In reply to comment #11) > я вот думаю, что лучше. > а почему sndfile не признает такие wave файлы? > может таки его попробовать запинать? Попробую выяснить.
нет новостей?
Видимо, закапываем -- если на нынешних версиях и файликах ещё вылазит, просьба переоткрыть или переповесить.