Recuperando gravações corrompidas do m4a

3

Eu tenho usado o Ubuntu no meu computador da escola este ano, eu geralmente gravo as palestras que eu não posso esperar para acompanhar o prof, eu tenho permissão para fazer isso. Eu tenho usado o gravador de áudio padrão que você pode instalar com sudo apt-get install audio-recorder porque era o mais fácil de usar. No começo do semestre, as gravações estavam boas. Mas agora eles estão corrompidos assim que a gravação é feita. Eles estão no formato .m4a.

Eu tentei muitos tutoriais, incluindo a edição dos dados hexadecimais da gravação, sem sorte. Eu não sei onde a gravação começa desde quando eu tento fazer uma nova gravação, é corrupto. Eu tentei usar o ffmpeg para obter esse erro, moov atom not found , que procura não faz nada para ajudar a resolver o problema. Ou eu recebo um erro dizendo protocol not found. Did you mean in.m4a? , que é o nome do arquivo, que eu digitei corretamente. O ffmpeg retorna um erro “protocolo não encontrado”. Então ele diz que você quer dizer o arquivo que eu coloquei. Faad retorna este erro: Unable to find correct AAC sound track in the MP4 file. Também tentei um serviço de reparo mp4 e funciona para que o arquivo possa ser corrigido. Mas custaria US $ 86 para isso, e eu preciso consertar 6 gravações.

Eu tentei desinstalar e reinstalar os codecs restritos.

Qualquer ajuda seria muito apreciada.

    
por KeenanKer 10.04.2018 / 14:55

1 resposta

3

Veja aqui , na parte inferior da página.
Instalar faad, se necessário sudo apt install faad
dd ibs=1 skip=44 if=yourfilename.m4a of=raw.m4a
faad -a newname.m4a raw.m4a
Todos os créditos para o autor do link que estou apontando, porque eu não sei o que estou fazendo, mas eu testei no seu arquivo maior, e funciona. O primeiro comando leva algum tempo. Seja paciente. Tentei no Ubuntu 16.04.

Como apontado nos comentários, o resultado pode ser aberto no VLC, mas não no Audacious. Mas podemos usar o vlc para transcodificá-lo ou reescrevê-lo para outro formato. O script abaixo converte todos os arquivos * .m4a no diretório atual para * .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
    
por oscar1919 10.04.2018 / 16:29