恢复损坏的 m4a 录音

Kee*_*Ker 6 sound ffmpeg aac m4a

我今年一直在学校电脑上用Ubuntu,平时录课,希望跟不上prof,我有权限这样做。我一直在使用您可以安装的默认录音机,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 个录音。

我尝试卸载并重新安装受限的编解码器。

任何帮助将不胜感激。

osc*_*919 6

请参阅此处,位于页面底部。
如果需要,请安装 faadsudo apt install faad
dd ibs=1 skip=44 if=yourfilename.m4a of=raw.m4a
faad -a newname.m4a raw.m4a
我指向的链接作者的所有功劳,因为我不知道我在做什么,但我在您的更大文件上对其进行了测试,并且可以正常工作。第一个命令需要一些时间。要有耐心。在 ubuntu 16.04 上试过。

正如评论中所指出的,结果可以在 VLC 中打开,但不能在 Audacious 中打开。但是我们可以使用 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
Run Code Online (Sandbox Code Playgroud)