Bug 15089 - не добавляет mp3 в аудио-проект
: не добавляет mp3 в аудио-проект
Status: CLOSED WONTFIX
: Sisyphus
(All bugs in Sisyphus/k3b)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2008-03-26 15:22 by
Modified: 2015-01-07 17:59 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-03-26 15:22:46
Не удается добавить некоторые mp3-файлы в аудиопроект.
для этого приходится перегонять mp3 в wav и их уже добавлять в проект
аудиодиска.
могу приложить пример такого файла если требуется или дать дополнительную
информацию по нему.
амарок такие файлы играет без проблем

ошибка при добавлении:
 Невозможно обработать следующие файлы из-за неподдерживаемого формата:
Вы можете вручную преобразовать эти звуковые файлы в wave, используя другую
программу, поддерживающую звуковой формат и после этого добавить wave-файлы в
проект K3b.
------- Comment #1 From 2008-03-26 20:19:58 -------
Давайте, что-ли, файл...
------- Comment #2 From 2008-03-31 14:25:02 -------
Дайте файл, пожалуйста.
------- Comment #3 From 2008-03-31 19:23:19 -------
отправил в личку
------- Comment #4 From 2008-03-31 20:48:07 -------
Результаты на данный момент таковы:

Натравил /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"), но не то, что имеем.

От баги пока не отказываюсь )
------- Comment #5 From 2008-04-01 10:54:22 -------
ух, ясно.
собственно остался только резонный вопрос -- чем пользуется k3b для
преобразования звуковых файлов, что не умеет RIFF/mp3?
------- Comment #6 From 2008-04-01 13:10:53 -------
(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, но почему-то отказалась
использовать кодек.

Следствие продолжается.
------- Comment #7 From 2008-04-01 14:19:29 -------
ffmpeg -i файл.mp3 /tmp/a.wav сделал нормальный wav который легко потом
добавился в audio-проект
------- Comment #8 From 2008-04-01 18:36:17 -------
(In reply to comment #7)
> ffmpeg -i файл.mp3 /tmp/a.wav сделал нормальный wav который легко потом
> добавился в audio-проект

неее. не то это. сейчас принципиальный вопрос стоит: а чего это нельзя RIFF с
чем-то, отличным от PCM в аудиопроект вставлять? ведь в принципе, при правильном
выборе кодека может же k3b автоматом в wav перегнать!
------- Comment #9 From 2008-04-01 20:23:21 -------
Решение найдено. Только текст ("теги") из RIFF не читаются (
------- Comment #10 From 2008-04-02 12:06:43 -------
Итак. Результаты: 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.

Вобщем, не знаю, что там ненадёжно, у меня "тот самый файл" перекодировался
успешно. Я могу сделать сборку с поддержкой плагином "непротестированных"
форматов. Вас устроит это?
------- Comment #11 From 2008-04-02 12:39:59 -------
я вот думаю, что лучше.
а почему sndfile не признает такие wave файлы?
может таки его попробовать запинать?
------- Comment #12 From 2008-04-02 13:15:41 -------
(In reply to comment #11)
> я вот думаю, что лучше.
> а почему sndfile не признает такие wave файлы?
> может таки его попробовать запинать?

Попробую выяснить.
------- Comment #13 From 2009-01-26 18:28:08 -------
нет новостей?
------- Comment #14 From 2015-01-07 17:59:48 -------
Видимо, закапываем -- если на нынешних версиях и файликах ещё вылазит, просьба
переоткрыть или переповесить.