내가 가지고 있는 것처럼최근에 배운 것, 인코딩된 flac 데이터를 STDOUT으로 전송하여 생성된 flac 파일에는 일부 메타데이터, 특히 녹음 길이에 대한 정보가 누락되어 있습니다.
이 데이터를 소급하여 추가할 수 있나요?wav로 디코딩하고 데이터를 다시 인코딩할 필요가 없습니다.(데이터는wav 파일에 비해 너무 큼, flac는 wav로 행복하게 디코딩되지만 오류가 발생하고 후속 flac로의 재인코딩을 거부합니까? 도움이 된다면 녹음의 정확한 길이를 알고 있습니다.
그냥 궁금해서요: 7일간의 오디오 녹음을 flac에서 wav로 그리고 그 반대로 디코딩하고 다시 인코딩하면 이런 일이 발생합니다.
flac --decode test.flac
flac 1.3.1, Copyright (C) 2000-2009 Josh Coalson, 2011-2014 Xiph.Org Foundation
flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
welcome to redistribute it under certain conditions. Type `flac' for details.
test.flac: WARNING, cannot check MD5 signature since it was unset in the STREAMINFO
done
test.flac: ERROR: stream is too big to fit in a single WAVE file
이제 VLC에서 잘 재생되고 적절한 길이 정보가 포함된 wav 파일이 생겼습니다. 녹음해 보세요:
flac test.wav --best --output-name="test2.flac"
flac 1.3.1, Copyright (C) 2000-2009 Josh Coalson, 2011-2014 Xiph.Org Foundation
flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
welcome to redistribute it under certain conditions. Type `flac' for details.
test.wav: ERROR: 'data' chunk has size of 0
답변1
내가 찾은 유일한 해결책은 sox를 사용하여 모든 것을 다시 인코딩하는 것입니다.
sox test.flac test_full.flac --show-progress
이렇게 하면 전체 녹음을 가져와서 디코딩한 다음 다시 flac로 다시 인코딩합니다. 비효율적이지만 여전히 작업을 완료합니다. 10분의 코딩 시간을 절약할 수 있는 더 나은 솔루션이 있다면 자유롭게 다른 답변을 추가해 주시면 수락하겠습니다.