alsoijw |
|
Темы:
9
Сообщения:
321
Участник с: 17 октября 2014
|
По ошибке удалил несколько аудио файлов. После того как осознал то что погорячился(прошло несколько минут) - снял образ диска. Пользовался testdisk. Он написал что успешно восстановлены все файлы, но на практикие не все открываются(totem пишет Файл некорректен и не может быть воспроизведён). Сумарный объём 6 ГБ. Не думаю что смартфон мог перезаписать столько информации(это я к тому, что очень вряд ли файлы не читаются из-за частичной перезаписи). Запись файлов происходила на одном и том же андроид смартфоне. Настройки менялись только раз. Есть файлы следующих типов: ogg и 3gpp. емнип валидация файла происходит по заголовку(можно начать вопспроизводить ещё не докаченный файл). У меня возникло подозрение того что повреждён заголовок. Есть несколько корректных файлов и того и другого типа, как следствие можно определить формат кодирования. У меня вопрос: насколько возможно пересоздать заголовок и переписать им заголовок файла, для того чтобы можно было открыть сам файл? Вот сведения о кодеках: [spoiler=ogg] [/spoiler][spoiler=3gpp] [/spoiler]Интересует именно "самостоятельное" восстановление, для прокачки навыков "тыжпрограммиста" и поднятия чсв. )))Спасибо.
Мало видеть нам начало - надо видеть и конец.
Если видишь ты создание - значит где-то есть ТВОРЕЦ |
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
alsoijwogg и 3gpp - неудачные форматы для проработки навыков восстановления файлов ….. это медиаконтейнеры, в которые напичкано (и + к этому еще и сжато) много всякой ерунды. Опыта восстановления этих форматов не имею, но ....... - если подходит mp3, то не проще ли попытаться сконвертировать в mp3 …..... - или если не особо важна всякая аудиоинфа можно попробовать удалить все лишнее (или частично), оставив одну сигнатуру
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
alsoijwМогу и ошибаться, но смущает формат aac (LC) , хотя пишешь про ogg vorbis — это разные форматы и у них разные сигнатуры Вот пример моего тестового файла ogg $ ffmpeg -i '/audio/fortuna-48kbps.ogg' …................... Input #0, ogg, from '/audio/fortuna-48kbps.ogg': Duration: 00:00:22.09, start: 0.000000, bitrate: 50 kb/s Stream #0:0: Audio: vorbis, 44100 Hz, stereo, fltp, 48 kb/s Сигнатура файла 4F 67 67 53 00 02 00 00 (или ASCII — OggS....) - проверь ….. PS.... Totem может не поддерживать aac (LC)..... ?
Ошибки не исчезают с опытом - они просто умнеют
|
alsoijw |
|
Темы:
9
Сообщения:
321
Участник с: 17 октября 2014
|
vasekВ смысле подходит? Для хранения? Можно и так. Чем конвертировать? ffmpeg не желает работать с повреждёнными файлами.
vasekЧто такое аудиоинфа? Как сделать то что ты предлагаешь? Мне нужен исключительно звук. Больше там ничего нет(тегов всяких). vasekВыше приведены сигнатуры чиатемых файлов. Почему такой формат? Я не знаю, не я писал диктофон под андроид.alsoijwМогу и ошибаться, но смущает формат aac (LC) , хотя пишешь про ogg vorbis — это разные форматы и у них разные сигнатуры
Мало видеть нам начало - надо видеть и конец.
Если видишь ты создание - значит где-то есть ТВОРЕЦ |
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
alsoijw alsoijwЯ вчера поздно вечером и не заметил, что приведены файлы не ogg , а 3gpp, которые могут сохранять аудио как и AAC (LC) В части конвертации — можно попробовать специальные конверторы для преобразования 3gpp в mp3 … может и вытащат …. Насчет воостановления — занимался этим раньше, но никогда не имел дела с аудиоформатами …. Из опыта восстановления удаленных файлов, например фото, иногда файл восстанавливается и пишут успешно, но файл не открывается — обычно причина в том, что попорчен один или несколько нужных (реперных) байтов и достаточно их подправить и все работает …. но нужно знать структуру (формат) восстанавливаемых файлов ….. Попробуй сравнить нормальные и дефектные файлы ….. как правило все находится в самом начале (иногда в конце) …......... удобно использовать для сравнения vbindiff — ясно, что отличий будет очень много, но смотри начало (или конец) …..... а лучше найти структуру формата 3gpp (чтобы определиться с нужными реперными байтами, без которых файл не откроется) ...... но это очень нудная и сложная работа... PS.......... в качестве примера о представлении формата файла, привожу простую стуктуру файла jpg ......... с аудиоформатами все намного сложнее ...
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
alsoijwЯ не спец в цифровом аудио, но судя по этому сообщению в поврежденных файлах отсутствует atom moov..... Насколько мне известно в таких файлах должны присутствовать атомы ftyp, moov, mdat и др. (зависит от формата). Атом ftyp содержит тип этого файла и типы версий основных структур файла. Этот атом всегда первый в файле. Атом mdat содержит потоки видео, аудио, субтитров — и вообщем то он не интересен. Атом moov содержит описание треков, информацию о тегах … Что конкретно в них должно быть прописано и их положение в файле точно не знаю (знаю только то, что они находятся в начале файла …. и если посмотреть hex редактором, то имена этих атомов должны быть похоже прописаны в ASCII ….) - т.е. опять выходим на структуру формата. Сравни все-таки с нормальными файлами, как уже предлагал раньше. Ты слушал аудиофайлы при восстановлении …... а не могут быть поврежденными именно эти файлы …..??? PS.... скачал примеры 2 файлов - aac и 3gpp ......... привожу начало этих файлов $ hexdump -C -n 64 ~/Загрузки/example.aac 00000000 00 00 00 20 66 74 79 70 4d 34 41 20 00 00 00 00 |... ftypM4A ....| 00000010 4d 34 41 20 6d 70 34 32 69 73 6f 6d 00 00 00 00 |M4A mp42isom....| 00000020 00 00 25 40 6d 6f 6f 76 00 00 00 6c 6d 76 68 64 |..%@moov...lmvhd| 00000030 00 00 00 00 d0 93 8f 93 d0 93 8f 94 00 00 ac 44 |...............D| 00000040 $ hexdump -C -n 64 ~/Загрузки/example.3gpp 00000000 00 00 00 1c 66 74 79 70 33 67 32 61 00 01 00 00 |....ftyp3g2a....| 00000010 69 73 6f 6d 69 73 6f 32 33 67 32 61 00 00 00 08 |isomiso23g2a....| 00000020 66 72 65 65 00 19 9a 52 6d 64 61 74 21 10 05 20 |free...Rmdat!.. | 00000030 a4 1b ff c0 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 3gpp попался не удачный — одно видео, без звука и в нем нет признаков наличия атома moov
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
alsoijwПровел эксперимент — изменил 1 байт в файле example.aac — поступил просто,тупо заменил moov (6D 6F 6F 76) на foov (66 6F 6F 76) …..... и получил твои ошибки Т.е. в 1-ую очередь нужно проверить данные атома moov, сравнив с нормальным файлом.....
Ошибки не исчезают с опытом - они просто умнеют
|
alsoijw |
|
Темы:
9
Сообщения:
321
Участник с: 17 октября 2014
|
Вот структура воспроизводимого файла.
Мало видеть нам начало - надо видеть и конец.
Если видишь ты создание - значит где-то есть ТВОРЕЦ |
alsoijw |
|
Темы:
9
Сообщения:
321
Участник с: 17 октября 2014
|
У повреждённого эта часть тоже совпадает.
Мало видеть нам начало - надо видеть и конец.
Если видишь ты создание - значит где-то есть ТВОРЕЦ |
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
alsoijwПервые 64 байта я привел просто от балды - на самом деле все выглядит одновременно и просто, но в то же время и сложно..... Не вдаваясь в описание формата 3gpp (все хорошо расписано в инете …) отмечу только, что внутри контейнера аудио сохраняется в форматах AMR-NB или AAC-LC, а видео как MPEG-4 или H.263. А вот сам формат MPEG4 (да вообщем то и всех медиаконтейнеров) состоит из блоков, которые обычно называют atom (атомами), но правильнее назвать их box (согласно спецификации). А вот сами box, точнее их тело/данные, имеют древовидную структуру, т. е. в box могут быть вложены другие box..... Вот в этом то вся и сложность анализа этих файлов.............. отчего я отказался в свое время от работы по восстановлению этих файлов, после прочтения стандарта по структуре формата этих контейнеров. Каждый box имеет следующий формат (привожу для 32-битной структуры формата) байты 0, 1, 2, 3 — длина box (включая эти байты) байты 4, 5, 6, 7 — наименование box байты 8, и далее — тело (данные) box Самый 1-ый box - ftyp …. Например, тебя интересует box (atom) moov, который имеет следующую древовидную структуру (состоит из следующих box) moov / …..... mvhd …..... ainf …..... iods …..... meta ......... trak …..... и.т.д. Среди них имеются и обязательные и необязательные box …. и некоторые имеют header ( а может и все, уже не помню ….) …..... одним словом без описания структуры формата даже нет смысла и подступаться к этим файлам.... Если заинтересуешься и не найдешь стандарт по формату, посмотрю у себя...... где то валялся PS.... для только одного аудио должно быть проще.... ну и не могу ничего сказать какой будет формат в случае одного аудио .....
Ошибки не исчезают с опытом - они просто умнеют
|