Восстановление удалённых аудио файлов

По ошибке удалил несколько аудио файлов. После того как осознал то что погорячился(прошло несколько минут) - снял образ диска. Пользовался testdisk. Он написал что успешно восстановлены все файлы, но на практикие не все открываются(totem пишет Файл некорректен и не может быть воспроизведён). Сумарный объём 6 ГБ. Не думаю что смартфон мог перезаписать столько информации(это я к тому, что очень вряд ли файлы не читаются из-за частичной перезаписи). Запись файлов происходила на одном и том же андроид смартфоне. Настройки менялись только раз. Есть файлы следующих типов: ogg и 3gpp. емнип валидация файла происходит по заголовку(можно начать вопспроизводить ещё не докаченный файл). У меня возникло подозрение того что повреждён заголовок. Есть несколько корректных файлов и того и другого типа, как следствие можно определить формат кодирования. У меня вопрос: насколько возможно пересоздать заголовок и переписать им заголовок файла, для того чтобы можно было открыть сам файл? Вот сведения о кодеках:
[spoiler=ogg]

alsoijw@localhost ~>  ffmpeg -i '/home/alsoijw/Музыка/r/Recording/Rec_2014-10-05_090145.ogg'
ffmpeg version 2.8.7 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.1 (GCC) 20160406 (Red Hat 5.3.1-6)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/alsoijw/Музыка/r/Recording/Rec_2014-10-05_090145.ogg':
  Metadata:
    major_brand     : 3gp4
    minor_version   : 0
    compatible_brands: isom3gp4
    creation_time   : 2014-10-05 06:38:53
  Duration: 00:37:06.60, start: 0.000000, bitrate: 129 kb/s
    Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2014-10-05 06:38:53
      handler_name    : SoundHandle
At least one output file must be specified
alsoijw@localhost ~>  ffmpeg -i '/home/alsoijw/Музыка/r/Recording/Rec_2014-10-05_094239.ogg'
ffmpeg version 2.8.7 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.1 (GCC) 20160406 (Red Hat 5.3.1-6)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/alsoijw/Музыка/r/Recording/Rec_2014-10-05_094239.ogg':
  Metadata:
    major_brand     : 3gp4
    minor_version   : 0
    compatible_brands: isom3gp4
    creation_time   : 2014-10-05 07:48:34
  Duration: 01:05:54.26, start: 0.000000, bitrate: 129 kb/s
    Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2014-10-05 07:48:34
      handler_name    : SoundHandle
At least one output file must be specified
alsoijw@localhost ~>
[/spoiler]
[spoiler=3gpp]

alsoijw@localhost ~>  ffmpeg -i '/home/alsoijw/Музыка/r/Recording/Rec_2016-01-03_133210.3gpp'
ffmpeg version 2.8.7 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.1 (GCC) 20160406 (Red Hat 5.3.1-6)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/alsoijw/Музыка/r/Recording/Rec_2016-01-03_133210.3gpp':
  Metadata:
    major_brand     : 3gp4
    minor_version   : 0
    compatible_brands: isom3gp4
    creation_time   : 2016-01-03 13:13:33
  Duration: 01:41:22.75, start: 0.000000, bitrate: 49 kb/s
    Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 32000 Hz, stereo, fltp, 48 kb/s (default)
    Metadata:
      creation_time   : 2016-01-03 13:13:33
      handler_name    : SoundHandle
At least one output file must be specified
alsoijw@localhost ~>  ffmpeg -i '/home/alsoijw/Музыка/r/Recording/Rec_2016-01-04_180036.3gpp'
ffmpeg version 2.8.7 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.1 (GCC) 20160406 (Red Hat 5.3.1-6)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/alsoijw/Музыка/r/Recording/Rec_2016-01-04_180036.3gpp':
  Metadata:
    major_brand     : 3gp4
    minor_version   : 0
    compatible_brands: isom3gp4
    creation_time   : 2016-01-04 17:52:28
  Duration: 01:51:52.03, start: 0.000000, bitrate: 49 kb/s
    Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 32000 Hz, stereo, fltp, 48 kb/s (default)
    Metadata:
      creation_time   : 2016-01-04 17:52:28
      handler_name    : SoundHandle
At least one output file must be specified
alsoijw@localhost ~>
[/spoiler]Интересует именно "самостоятельное" восстановление, для прокачки навыков "тыжпрограммиста" и поднятия чсв. )))
Спасибо.
Мало видеть нам начало - надо видеть и конец.
Если видишь ты создание - значит где-то есть ТВОРЕЦ
alsoijw
По ошибке удалил несколько аудио файлов............Интересует именно "самостоятельное" восстановление, для прокачки навыков......
ogg и 3gpp - неудачные форматы для проработки навыков восстановления файлов ….. это медиаконтейнеры, в которые напичкано (и + к этому еще и сжато) много всякой ерунды. Опыта восстановления этих форматов не имею, но .......
- если подходит mp3, то не проще ли попытаться сконвертировать в mp3 ….....
- или если не особо важна всякая аудиоинфа можно попробовать удалить все лишнее (или частично), оставив одну сигнатуру
Ошибки не исчезают с опытом - они просто умнеют
alsoijw
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Могу и ошибаться, но смущает формат 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)..... ?
Ошибки не исчезают с опытом - они просто умнеют
vasek
- если подходит mp3, то не проще ли попытаться сконвертировать в mp3 ….....
В смысле подходит? Для хранения? Можно и так. Чем конвертировать? ffmpeg не желает работать с повреждёнными файлами.
alsoijw@localhost ~>  ffmpeg -i '/home/alsoijw/Музыка/r/Recording/Rec_2016-06-04_100123.3gpp' '3.mp3'
ffmpeg version 2.8.7 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.1 (GCC) 20160406 (Red Hat 5.3.1-6)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xe04700] moov atom not found
/home/alsoijw/Музыка/r/Recording/Rec_2016-06-04_100123.3gpp: Invalid data found when processing input
alsoijw@localhost ~>
vasek
- или если не особо важна всякая аудиоинфа можно попробовать удалить все лишнее (или частично), оставив одну сигнатуру
Что такое аудиоинфа? Как сделать то что ты предлагаешь? Мне нужен исключительно звук. Больше там ничего нет(тегов всяких).

vasek
alsoijw
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Могу и ошибаться, но смущает формат 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
alsoijw@localhost ~> ffmpeg -i '/home/alsoijw/Музыка/r/Recording/Rec_2016-01-03_133210.3gpp'
alsoijw
Выше приведены сигнатуры чиатемых файлов.
Я вчера поздно вечером и не заметил, что приведены файлы не ogg , а 3gpp, которые могут сохранять аудио как и AAC (LC)
В части конвертации — можно попробовать специальные конверторы для преобразования 3gpp в mp3 … может и вытащат ….
Насчет воостановления — занимался этим раньше, но никогда не имел дела с аудиоформатами …. Из опыта восстановления удаленных файлов, например фото, иногда файл восстанавливается и пишут успешно, но файл не открывается — обычно причина в том, что попорчен один или несколько нужных (реперных) байтов и достаточно их подправить и все работает …. но нужно знать структуру (формат) восстанавливаемых файлов …..
Попробуй сравнить нормальные и дефектные файлы ….. как правило все находится в самом начале (иногда в конце) …......... удобно использовать для сравнения vbindiff — ясно, что отличий будет очень много, но смотри начало (или конец) …..... а лучше найти структуру формата 3gpp (чтобы определиться с нужными реперными байтами, без которых файл не откроется) ...... но это очень нудная и сложная работа...

PS.......... в качестве примера о представлении формата файла, привожу простую стуктуру файла jpg ......... с аудиоформатами все намного сложнее ...
Ошибки не исчезают с опытом - они просто умнеют
alsoijw
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xe04700] moov atom not found
Я не спец в цифровом аудио, но судя по этому сообщению в поврежденных файлах отсутствует 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
Ошибки не исчезают с опытом - они просто умнеют
alsoijw
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xe04700] moov atom not found /home/alsoijw/Музыка/r/Recording/Rec_2016-06-04_100123.3gpp: Invalid data found when processing input
Провел эксперимент — изменил 1 байт в файле example.aac — поступил просто,тупо заменил moov (6D 6F 6F 76) на foov (66 6F 6F 76) …..... и получил твои ошибки
$ ffmpeg -i '~/Загрузки/example_.aac'
…..........................................................
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x98007a0] moov atom not found
~/Загрузки/example_.aac: Invalid data found when processing input
Т.е. в 1-ую очередь нужно проверить данные атома moov, сравнив с нормальным файлом.....
Ошибки не исчезают с опытом - они просто умнеют
Вот структура воспроизводимого файла.
 hexdump -C -n 64 Музыка/r/Recording/Rec_2016-01-03_133210.3gpp
00000000  00 00 00 18 66 74 79 70  33 67 70 34 00 00 00 00  |....ftyp3gp4....|
00000010  69 73 6f 6d 33 67 70 34  00 00 0f e8 66 72 65 65  |isom3gp4....free|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000040
Мало видеть нам начало - надо видеть и конец.
Если видишь ты создание - значит где-то есть ТВОРЕЦ
У повреждённого эта часть тоже совпадает.
Мало видеть нам начало - надо видеть и конец.
Если видишь ты создание - значит где-то есть ТВОРЕЦ
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.... для только одного аудио должно быть проще.... ну и не могу ничего сказать какой будет формат в случае одного аудио .....
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.