Восстановление повредило m4a записи

Я использовал Ubuntu на своем школьном компьютере в этом году, я обычно записываю лекции, что я не могу надеяться не отставать от профессора, у меня есть разрешение сделать это. Я использовал магнитофон по умолчанию, с которым можно установить sudo apt-get install audio-recorder потому что было самым легким использовать. Ранее в семестр они записи были прекрасны. Но теперь они повреждены, как только запись сделана. Они находятся в .m4a формате.

Я попробовал много учебных руководств, включая редактирование шестнадцатеричных данных записи, никакой удачи. Я не знаю, где запись запускается, так как то, когда я пытаюсь сделать новую запись ее, повреждено от летучей мыши. Я попытался использовать ffmpeg для получения этой ошибки, moov atom not found, какой поиск не делает ничего, чтобы помочь решить проблему. Или я получаю ошибку при высказывании protocol not found. Did you mean in.m4a? который является названием файла, который я ввел правильно. ffmpeg возвращает “протокол, не найденный” ошибка. Затем это говорит, делают Вы имеете в виду файл, который я действительно вставлял. Faad возвращает эту ошибку: Unable to find correct AAC sound track in the MP4 file. Также я попробовал сервис восстановления mp4, и он работает так, файл должен смочь быть зафиксированным. Но это стоило бы 86$ за него, и я должен зафиксировать 6 записей.

Я попытался удалить и переустановить ограниченные кодеки.

Любая справка значительно ценилась бы.

4
задан 10 April 2018 в 16:33

2 ответа

Посмотрите здесь, внизу страницы.
Установите faad в случае необходимости sudo apt install faad
dd ibs=1 skip=44 if=yourfilename.m4a of=raw.m4a
faad -a newname.m4a raw.m4a
Все кредиты автору ссылки, на которую я указываю, вызовите, я не знаю то, что я делаю, но я протестировал ее на Вашем большем файле, и она работает. Первая команда занимает время. Будьте терпеливы. Попробованный это на человечности 16.04.

Как указано в комментариях, результат может быть открыт в VLC, но не в Смелом. Но мы можем использовать vlc, чтобы транскодировать его или переписать его к другому формату. Сценарий ниже преобразований все *.m4a файлы в текущем каталоге к *.mp3.
#!/bin/bash

quote=\"  
executable="/usr/bin/vlc"
argument3=vlc://quit

#transcoding parameters
acodecvalue=mp3
bitratevalue=128
accessvalue=file
muxvalue=raw

for x in *.m4a; do
    inputname="${x}"
    strippedname=${x%.m4a}
    outputname=${strippedname}.mp3
    quote_outputname=${quote}./${outputname}${quote}
    echo ${inputname}
    echo ${quote_outputname}
    qtranscode=#transcode{vcodec=none,acodec=$acodecvalue, # continue line !
    ab=$bitratevalue,channels=$channelsvalue}              # continue line !
    :standard{access=$accessvalue,mux=$muxvalue,dst=${quote_outputname}}
    argument1="$inputname"
    argument2=--sout=$qtranscode
    "$executable" -I dummy "$argument1" "$argument2" "$argument3"
done
4
ответ дан 1 December 2019 в 09:30

Это работает, но использование значений в dd не достаточно для каждого случая. Здесь автор исходного сообщения объясняет почему: Исходное сообщение этого решения

В основном Вы лишаете заголовок файла путем пропуска 44 байтов с dd, но то значение варьируется от файла до файла, как это произошло со мной.

решение состоит в том, чтобы использовать Hex-редактор (я предлагаю на копии поврежденного файла), и удалите все с начала в конец слова "mdat". В моем случае это были 28 байтов вместо 44.

я использую 0xED в качестве Hex-редактора на Mac (это свободно и работает на последнем Mac OS, Мохаве, с этой записи). Кроме того, для Mac можно установить faad использование Домашнего пива путем выполнения

brew install faad2

, Вы, возможно, должны указать частоту дискретизации файла, если отличающийся от 44,100 Гц при использовании faad с-s

переключателя, Если faad возвращает эту ошибку Error: Maximum number of bitstream elements exceeded, это могло бы означать удаление слишком многих байтов с начала файла как это произошло со мной сначала.

Наконец, после того как Вы обрабатываете необработанный файл с faad, Вы захотите повторно закодировать m4a файл, чтобы удостовериться, что у Вас есть надлежащий и совместимый файл, это может легко быть сделано с ffmpeg

ffmpeg -i newfile.m4a -c:a aac output.m4a
1
ответ дан 1 December 2019 в 09:30

Другие вопросы по тегам:

Похожие вопросы: