FLAC 파일을 Linux에서 flac2all로 트랜스코딩하는 방법

flac2all은 고품질 FLAC 파일을 거의 모든 현대 오디오 형식으로 변환할 수 있도록 해주는 간단한 유틸리티입니다. ffmpeg와 달리, 이 유틸리티는 FLAC 오디오를 정리하고 태그를 달고 인코딩하는 프로세스를 자동화합니다. flac2all은 설치 및 사용이 쉽습니다. 오디오 트랜스코딩 요구 사항을 위한 프론트 엔드 역할을 할 수 있는 이 다재다능한 프로그램을 사용하는 방법을 알아보세요.
목차
- flac2all을 사용하는 이유
- flac2all 설치하기
- flac2all을 사용해 오디오 트랜스코딩하기
- 여러 형식으로 트랜스코딩하기
- 사용자 지정 트랜스코드 작업 만들기
- flac2all 트랜스코드 클러스터 만들기
- 네트워크 마운트 설정하기
- flac2all 클러스터 시작하기
- 자주 묻는 질문
또한 읽어보세요: Linux 노트북의 배터리 수명을 늘리는 4가지 방법
flac2all을 사용하는 이유
flac2all의 핵심은 래퍼이자 스케줄링 프로그램입니다. FLAC 파일 목록을 가져와서 다양한 코덱을 사용해 트랜스코딩 프로세스를 큐에 넣고 관리합니다.
이 접근법의 한 가지 장점은 flac2all이 단일 인코더에 의존하지 않기 때문에 사용자가 원하는 새 형식에 프로그램을 쉽게 조정할 수 있다는 것입니다. 예를 들어, 일반 AAC와 함께 사용자 지정 Fraunhofer FDK AAC 인코더를 설치할 수 있습니다.

마지막으로, flac2all은 FLAC 컬렉션의 폴더 구조를 유지하므로 이 프로그램을 사용하는 동안 아카이브의 디렉토리를 다시 만들 필요가 없습니다. 이러한 기능들은 다른 형식으로 FLAC 컬렉션을 재구성하는 빠르고 쉬운 방법을 찾고 있는 경우 flac2all이 유용한 유틸리티가 되게 합니다.
또한 읽어보세요: Su, Sudo Su, Sudo -s 및 Sudo -i의 차이점
flac2all 설치하기
flac2all을 설치하기 전에, 설치 후 충돌이 없도록 모든 종속성을 확보하는 것이 중요합니다:
sudo apt install python3 flac python3-pip python3-zmq python3-notcurses lame opus-tools
다음으로, pip를 통해 flac2all을 다운로드합니다. pip는 추가 소프트웨어를 설치하는 데 사용할 수 있는 Python 전용 패키지 관리자입니다. 다음 명령어를 실행하여 pip를 사용합니다:
pip3 install--user flac2all이것은 현재 사용자의 “.local” 디렉토리에 flac2all을 설치합니다. 따라서 다중 사용자 시스템에서는 다른 사용자가 이 프로그램을 실행할 수 없습니다.

flac2all을 실행하기 위해서는 다음 코드를 “.bash_profile” 파일에 추가하여 기계의 PATH 변수에 “.local” 디렉토리를 포함해야 합니다:
PATH=$PATH:/home/$USER/.local/bin/
export PATH마지막으로, 새 설정을 적용하기 위해 현재 세션을 다시 시작하거나 로그아웃한 후, flac2all -h를 실행하여 프로그램이 제대로 설치되었는지 확인할 수 있습니다.

flac2all을 사용해 오디오 트랜스코딩하기
flac2all의 개발자는 프로그램을 가능한 한 간단하게 설계했습니다. 예를 들어, FLAC 디렉토리를 단일 형식으로 트랜스코딩하기 위한 구문은 다음과 같습니다:
flac2all mp3 -o ./output ./royalty-free- “flac2all” 이후의 첫 번째 요소는 트랜스코딩할 형식을 강조합니다. 이 예에서는 내 FLAC 폴더를 MP3로 변환하고 있습니다.
- 두 번째 요소는 현재 트랜스코드 작업에 대한 옵션을 포함합니다. 여기서
-o옵션은 flac2all에게 모든 MP3 파일을 “output” 폴더로 보낼 것을 지시합니다. - 마지막으로, 세 번째 요소는 FLAC 파일의 소스 폴더를 나타냅니다. 내 경우, 그것은 “royalty-free” 폴더입니다.

또한 읽어보세요: Linux 터미널에서 이미지 크기 조정 및 최적화하는 방법
여러 형식으로 트랜스코딩하기
flac2all을 사용하여 여러 형식으로 동시에 트랜스코딩할 수도 있습니다. 이는 서로 다른 형식 요구 사항이 있는 플레이어로 아카이브를 전송하려는 경우 유용할 수 있습니다.
예를 들어, 다음 명령어를 실행하여 “royalty-free” 폴더를 MP3 및 Opus로 모두 트랜스코딩할 수 있습니다:
flac2all mp3,opus -o ./output ./royalty-free여러 형식으로 트랜스코딩하는 것은 단일 형식으로 트랜스코딩하는 것보다 시간이 더 걸립니다. flac2all은 디렉토리에 있는 각 파일을 사용자가 지정한 모든 형식에 대해 인코딩할 것입니다. 내 경우, MP3와 AAC를 트랜스코딩하면 MP3만 트랜스코딩하는 것보다 두 배의 시간이 걸립니다.

사용자 지정 트랜스코드 작업 만들기
단순한 트랜스코드를 만드는 것 외에도 flac2all로 인코더의 동작을 조정할 수 있는 가능성이 있습니다. 이는 아카이브의 사본을 특정 오디오 품질로 만들고자 할 때 특히 유용합니다. 예를 들어 다음 명령어를 살펴보세요.
flac2all mp3 --lame-options='b 320'-o ./output ./royalty-free이 명령어는 프로그램에게 내 “royalty-free” 폴더를 320k의 일정 비트 전송률로 트랜스코딩 하기 위해 LAME MP3 인코더를 사용하도록 지시합니다.

다중 형식 트랜스코드에 대한 사용자 지정 작업도 만들 수 있습니다. 예를 들어, 다음 명령어는 flac2all에게 MP3와 Opus로 사용자 정의 트랜스코드를 만들도록 지시합니다:
flac2all mp3,opus --opus-options='downmix-mono'--lame-options='b 320'-o ./output ./royalty-free
flac2all 트랜스코드 클러스터 만들기
flac2all을 단일 컴퓨터에서 사용할 수 있지만 여러 시스템에 걸쳐 프로그램을 분산할 수도 있습니다. 이는 트랜스코딩 프로세스를 가속화하는 실용적인 솔루션입니다. 다음 자원을 준비하세요:
- 서로 직접 연결할 수 있는 두 대 이상의 기계
- 모든 기계에서 액세스할 수 있는 NAS (마스터 flac2all 프로세스는 기존 데이터를 처리하도록 작업 클라이언트에게 지시만 함)
- 마스터 프로세스와 작업 클라이언트 간의 신뢰할 수 있는 네트워크 연결
이 요소들을 알고, 본 튜토리얼은 두 대의 Ubuntu 22.04 기계 사이에 소규모 flac2all 클러스터를 만드는 것에 초점을 맞춥니다.
또한 읽어보세요: Linux에서 SSH 설정 및 사용하는 방법
네트워크 마운트 설정하기
네트워크 저장소 마운트를 생성하여 시작합니다. 이를 위해, 나는 쉬운 사용과 거의 모든 리눅스 배포판에서 사용 가능한 SSHFS를 사용할 것입니다.
먼저, 사용하려는 모든 기계에 SSHFS를 설치합니다:
sudo apt installsshsshfs
다음으로, SSHFS가 마운트할 폴더를 생성합니다. 나는 내 작업 기계의 홈 디렉토리에 “royalty-free” 폴더를 생성할 것입니다:
mkdir/home/$USER/royalty-free
이제 다음 명령어를 사용하여 “royalty-free” 디렉토리를 각 작업 기계에 마운트합니다:
sshfs-o allow_other,default_permissions [email protected]:/home/$USER/royalty-free /home/$USER/royalty-free
flac2all 클러스터 시작하기
이제 마스터 프로세스를 실행하고 flac2all에 -m 및 -C 플래그를 추가하여 트랜스코딩 클러스터를 시작할 수 있습니다.
예를 들어, 주 기계에서 다음 명령어를 실행하여 마스터 프로세스를 생성합니다:
flac2all lame,aac -m-C--lame-options='b 320'-o/home/$USER/output /home/$USER/royalty-free
일반 flac2all과 달리, 마스터 프로세스를 생성하면 트랜스코딩 세션이 시작되지 않습니다. 파일을 트랜스코딩하려면 작업 클라이언트를 마스터 프로세스에 연결해야 하며, 작업 기계에서 다음 명령어를 실행합니다:
flac2all_worker 192.168.68.10완료되면 작업 클라이언트는 마스터 프로그램에 연결되는 헤드리스 프로세스를 생성합니다. 이후 flac2all은 대기 중인 작업 클라이언트를 발견하면 즉시 시작됩니다.

또한 읽어보세요: Linux에서 DaVinci Resolve를 다운로드하고 구성하는 방법
자주 묻는 질문
flac2all이 내 오디오 파일을 처리한 후 종료되지 않습니다. 이 문제를 어떻게 해결하죠?
이 문제는 flac2all과 그 Python 종속성 간의 충돌이 있을 때 발생합니다. 설치를 업데이트하여 flac2all과 그 종속성 간의 모든 변경 사항을 반영하여 수정하십시오. pip install --user --upgrade flac2all을 실행하여 flac2all을 업그레이드합니다.
flac2all이 “FileNotFound” 오류를 발생시킵니다. 내 설치가 고장 났나요?
아니요! 이 문제는 프로그램이 변환하고자 하는 형식에 대한 인코더를 감지하지 못할 때 발생합니다.
예를 들어, flac2all opus […]를 Opus 인코더 없이 실행하면 “FileNotFound” 오류가 발생합니다. 이 문제는 ffmpeg를 설치하여 해결할 수 있습니다. 이는 대부분의 일반 오디오 인코더를 설치하는 포괄적인 프로그램입니다. sudo apt install ffmpeg를 실행하여 ffmpeg를 시스템에 추가합니다.
작업 프로세스가 내 SSHFS 마운트에서 미디어를 찾지 못했습니다. flac2all이 고장 났나요?
아니요. 일반적으로 마스터 프로세스와 작업자 간의 디렉토리 불일치로 인해 발생합니다. 트랜스코드 클러스터가 제대로 작동하도록 하려면 각 기계 간의 파일 경로가 동일한지 확인하십시오. pwd를 사용하여 미디어 폴더와 SSHFS 마운트의 루트에서 체크합니다.
이미지 출처: Unsplash 및 Wikimedia Commons 모든 수정 및 스크린샷은 Ramces Red에 의해 작성됨