![스트리밍으로 생성된 flac 파일에 누락된 길이 헤더 추가](https://linux55.com/image/120864/%EC%8A%A4%ED%8A%B8%EB%A6%AC%EB%B0%8D%EC%9C%BC%EB%A1%9C%20%EC%83%9D%EC%84%B1%EB%90%9C%20flac%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EB%88%84%EB%9D%BD%EB%90%9C%20%EA%B8%B8%EC%9D%B4%20%ED%97%A4%EB%8D%94%20%EC%B6%94%EA%B0%80.png)
내가 가지고 있는 것처럼최근에 배운 것, 인코딩된 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분의 코딩 시간을 절약할 수 있는 더 나은 솔루션이 있다면 자유롭게 다른 답변을 추가해 주시면 수락하겠습니다.