Summary: | не добавляет mp3 в аудио-проект | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Eugene V. Horohorin <genix> |
Component: | k3b | Assignee: | Nobody's working on this, feel free to take it <nobody> |
Status: | CLOSED WONTFIX | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P2 | CC: | mike, rom_as, warframe, zerg |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Eugene V. Horohorin
2008-03-26 15:22:46 MSK
Давайте, что-ли, файл... Дайте файл, пожалуйста. отправил в личку Результаты на данный момент таковы: Натравил /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 файлы? > может таки его попробовать запинать? Попробую выяснить. нет новостей? Видимо, закапываем -- если на нынешних версиях и файликах ещё вылазит, просьба переоткрыть или переповесить. |