답변:
예, 둘 다 수학적으로 무손실 인 경우 변환도 무손실입니다.
그 이유는 FLAC / ALAC 파일을 디코딩 할 때 신호를 항상 원래 형식으로 재구성 할 수 있기 때문입니다. 따라서 트랜스 코딩시 여러 번 트랜스 코딩 할 때도 동일하므로 트랜스 코딩시 손실이 발생하지 않습니다.
내가 상상할 수있는 유일한 오류는 계산에서 제한된 부동 소수점 정밀도를 통한 산술 오류 일 것입니다. 나는 이것이 FLAC 또는 ALAC에 적용되지 않는다고 생각합니다.
"심리 음향"무손실 코덱 만 사용하는 경우에는 불가능합니다. 심리 음향의 무손실은 원본과 압축 버전을 구별 할 수 없지만 서로 매우 다르다는 것을 의미합니다. MP3 또는 MPEG-4 AAC는이를 달성하기 위해 다양한 심리 음향 기술을 사용합니다. 따라서 트랜스 코딩 할 때 원본 버전을 재구성 할 수 없으며 품질이 저하됩니다.
ALAC를 FLAC로 변환하려는 경우 ffmpeg
거의 모든 플랫폼에서 무료로 사용할 수 있으므로 좋은 옵션입니다.
ffmpeg -i audio.m4a -c:a flac audio.flac
FFmpeg는 문제없이 ALAC를 읽습니다. * nix 시스템에는 FLAC 로 변환 이라는 스크립트 가있어 전체 프로세스를보다 쉽게 수행 할 수 있습니다. Bash를 사용하면 단일 디렉토리의 모든 파일을 간단히 변환 할 수 있습니다.
for f in *.m4a; do ffmpeg -i "$f" -c:a flac "${f%.m4a}.flac"; done
참고 :ffmpeg
더 이상 사용되지 않는다는 메시지가 표시 되는 경우 실제로는 그렇지 않습니다. 여전히 활발하게 개발 된 프로그램입니다. 그러나 우분투의 패키지 관리자는 FFmpeg의 Libav 포크로 전환하여 avconv
대신 을 제공하기로 결정했습니다 ffmpeg
. ffmpeg
따라서 우분투 에서 사용 가능한 버전은 구식입니다. 대신 정적 빌드를 다운로드 하거나 직접 컴파일 하여 최근 빌드를 얻을 수 있습니다 . 자세한 정보는 다음을 참조하십시오 : ffmpeg, libav 및 avconv의 차이점과 관계를 알려줄 수있는 사람
for f in *.m4a; do ffmpeg -i "$f" -acodec flac "${f%.m4a}.flac"; done
예를 들어, Windows에서 리눅스에이 작품뿐만 아니라 망할 놈의 강타에 있습니다.
*** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
됩니다. aconv를 사용 하여이 작업을 수행하려면 대신 수행하십시오. for f in *.m4a; do avconv -i "$f" "${f%.m4a}.flac"; done
Powershell에서 Windows의 경우 (ffmpeg 사용) alac를 flac로 변환하려면 다음을 수행하십시오.
Get-ChildItem . -filter *.m4a| ForEach-Object { ffmpeg -i "$_" -acodec flac "$($_.basename).flac" }
반대로 alac로 변환하려면이 작업을 수행하십시오.
Get-ChildItem . -filter *.flac | ForEach-Object { ffmpeg -i "$_" -acodec alac $($_.basename).m4a" }