Wyszukiwanie w witrynie

Jak transkodować pliki FLAC za pomocą flac2all w systemie Linux


flac2all to proste narzędzie, które pozwala konwertować wysokiej jakości pliki FLAC do niemal każdego nowoczesnego formatu audio. W przeciwieństwie do ffmpeg, to narzędzie automatyzuje proces sortowania, oznaczania i kodowania dźwięku FLAC. flac2all jest łatwy w instalacji i obsłudze. Dowiedz się, jak korzystać z tego niezwykle wszechstronnego programu, który może działać jako interfejs dla wszystkich Twoich potrzeb związanych z transkodowaniem dźwięku.

Treść

  • Dlaczego warto używać flac2all
  • Instaluję flac2all
  • Używanie flac2all do transkodowania dźwięku
  • Transkodowanie do wielu formatów
  • Tworzenie niestandardowych zadań transkodowania
  • Tworzenie klastra transkodowania flac2all
  • Konfigurowanie uchwytu sieciowego
  • Uruchamianie klastra flac2all
  • Często Zadawane Pytania

Przeczytaj także: 4 sposoby na wydłużenie żywotności baterii laptopa z systemem Linux

Dlaczego warto używać flac2all

W swej istocie flac2all jest zarówno narzędziem do pakowania, jak i programem do planowania. Pobiera listę plików FLAC i używa różnych kodeków do kolejkowania i zarządzania procesem transkodowania.

Jedną z zalet tego podejścia jest to, że flac2all nie zależy od jednego kodera, co oznacza, że możesz łatwo dostosować program do dowolnego nowego formatu, którego chcesz użyć. Można na przykład zainstalować niestandardowy koder Fraunhofer FDK AAC obok zwykłego AAC.

Wreszcie, flac2all zachowuje również strukturę folderów Twojej kolekcji FLAC, więc nie musisz ponownie tworzyć katalogu swojego archiwum podczas korzystania z tego programu. Te funkcje sprawiają, że flac2all jest przydatnym narzędziem, jeśli szukasz szybkiego i łatwego sposobu na odtworzenie swojej kolekcji FLAC w innym formacie.

Przeczytaj także: Różnice między Su, Sudo Su, Sudo -s i Sudo -i

Instaluję flac2all

Przed zainstalowaniem flac2all ważne jest uzyskanie wszystkich jego zależności, aby mieć pewność, że po instalacji nie będzie konfliktów:

sudo apt install python3 flac python3-pip python3-zmq python3-notcurses lame opus-tools

Następną rzeczą do zrobienia jest pobranie flac2all poprzez pip, menedżera pakietów specyficznego dla Pythona, którego możesz użyć do zainstalowania dodatkowego oprogramowania. Uruchom następujące polecenie, aby użyć pip:

pip3 install --user flac2all

Spowoduje to zainstalowanie flac2all w katalogu „.local” bieżącego użytkownika. Jeśli więc korzystasz z systemu z wieloma użytkownikami, inni użytkownicy nie będą mogli uruchomić programu.

Aby uruchomić flac2all, dołącz swój katalog „.local” do zmiennej PATH swojego komputera, dodając następujący wiersz kodu do pliku „.bash_profile”:

PATH=$PATH:/home/$USER/.local/bin/
export PATH

Na koniec uruchom ponownie lub wyloguj się z bieżącej sesji, aby zastosować nowe ustawienia, po czym możesz uruchomić flac2all -h, aby potwierdzić, że program został poprawnie zainstalowany.

Używanie flac2all do transkodowania dźwięku

Twórca flac2all zaprojektował program tak, aby był tak prosty, jak to tylko możliwe. Na przykład składnia transkodowania katalogu FLAC do jednego formatu wygląda następująco:

flac2all mp3 -o ./output ./royalty-free
  • Pierwszy element po „flac2all” podświetla format, na który chcesz transkodować. W tym przykładzie konwertuję mój folder FLAC na MP3.
  • Drugi element zawiera opcje bieżącego zadania transkodowania. Tutaj opcja -o mówi flac2all, aby wysłał dowolne pliki MP3 do folderu „output”.
  • Wreszcie trzeci element wskazuje folder źródłowy plików FLAC. W moim przypadku jest to mój folder „bez tantiem”.

Przeczytaj także: Jak zmieniać rozmiar i optymalizować obrazy z terminala Linux

Transkodowanie do wielu formatów

Możesz także użyć flac2all do równoległego transkodowania plików do wielu formatów, co może być przydatne, jeśli chcesz przenieść swoje archiwum do odtwarzaczy o różnych wymaganiach formatowych.

Na przykład mogę uruchomić następujące polecenie, aby transkodować mój folder „bez tantiem” zarówno do formatu MP3, jak i Opus:

flac2all mp3,opus -o ./output ./royalty-free

Pamiętaj, że transkodowanie w wielu formatach zajmie więcej czasu niż transkodowanie w jednym formacie, ponieważ flac2all zakoduje każdy plik w twoim katalogu w każdym określonym formacie. W moim przypadku transkodowanie MP3 i AAC zajmie dwa razy dłużej niż samo transkodowanie MP3.

Tworzenie niestandardowych zadań transkodowania

Oprócz tworzenia prostych transkodowań, możliwe jest dostosowanie sposobu działania koderów za pomocą flac2all, co jest szczególnie przydatne, jeśli chcesz, aby kopia archiwum miała określoną jakość dźwięku. Spójrz na przykład na następujące polecenie.

flac2all mp3 --lame-options='b 320' -o ./output ./royalty-free

To polecenie nakazuje programowi użycie kodera LAME MP3 do transkodowania mojego folderu „bez tantiem” przy stałej szybkości transmisji bitów wynoszącej 320 KB.

Można także tworzyć niestandardowe zadania dla transkodowań wieloformatowych. Na przykład następujące polecenie mówi flac2all, aby utworzył niestandardowe transkodowanie z MP3 i Opus:

flac2all mp3,opus --opus-options='downmix-mono' --lame-options='b 320' -o ./output ./royalty-free

Tworzenie klastra transkodowania flac2all

Chociaż możesz używać flac2all na jednym komputerze, możliwe jest również rozproszenie programu na wiele systemów - praktyczne rozwiązanie przyspieszające proces transkodowania. Upewnij się, że masz przygotowane następujące zasoby:

  • Dwie lub więcej maszyn, które mogą być ze sobą bezpośrednio połączone
  • Serwer NAS, do którego można uzyskać dostęp na wszystkich komputerach, ponieważ główny proces flac2all instruuje tylko klientów roboczych, aby przetwarzali istniejące dane
  • Niezawodne połączenie sieciowe pomiędzy procesem głównym a jego klientami roboczymi

Znając te czynniki, w tym samouczku skupimy się na utworzeniu małego klastra flac2all pomiędzy dwoma maszynami z systemem Ubuntu 22.04.

Przeczytaj także: Jak skonfigurować i używać protokołu SSH w systemie Linux

Konfigurowanie uchwytu sieciowego

Aby rozpocząć, utwórz instalację pamięci sieciowej. W tym celu użyję SSHFS, ponieważ jest łatwy w użyciu i dostępny dla prawie wszystkich dystrybucji Linuksa.

Aby rozpocząć, zainstaluj SSHFS na wszystkich komputerach, których chcesz używać:

sudo apt install ssh sshfs

Następnie utwórz folder, do którego będzie montowany SSHFS. Utworzę folder „bez tantiem” w katalogu domowym mojego komputera roboczego:

mkdir /home/$USER/royalty-free

Teraz zamontuj katalog „royalty-free” na każdym komputerze roboczym za pomocą następującego polecenia:

sshfs -o allow_other,default_permissions $USER@192.168.68.10:/home/$USER/royalty-free /home/$USER/royalty-free

Uruchamianie klastra flac2all

Możesz teraz uruchomić klaster transkodowania, uruchamiając proces główny i dodając flagi -m i -C do flac2all.

Na przykład uruchom to polecenie na komputerze głównym, aby utworzyć proces główny:

flac2all lame,aac -m -C --lame-options='b 320' -o /home/$USER/output /home/$USER/royalty-free

W przeciwieństwie do zwykłego flac2all, utworzenie procesu głównego nie rozpocznie sesji transkodowania. Aby transkodować pliki, musisz także połączyć procesy robocze z procesem głównym, uruchamiając na swoich komputerach następującą komendę:

flac2all_worker 192.168.68.10

Po zakończeniu klient roboczy utworzy bezgłowy proces, który łączy się z programem głównym. Następnie flac2all uruchomi się natychmiast po znalezieniu garstki pracowników w stanie gotowości.

Przeczytaj także: Jak pobrać i skonfigurować DaVinci Resolve w systemie Linux

Często Zadawane Pytania

flac2all nie kończy się po przetworzeniu moich plików audio. Jak rozwiązać ten problem?

Dzieje się tak za każdym razem, gdy występuje konflikt z flac2all i jego zależnościami w Pythonie. Napraw to, aktualizując instalację, aby odzwierciedlić wszelkie zmiany pomiędzy flac2all i jego zależnościami. Uruchom pip install --user --upgrade flac2all, aby zaktualizować flac2all.

flac2all zgłasza błąd „FileNotFound”. Czy moja instalacja jest uszkodzona?

NIE! Ten problem występuje, gdy program nie wykrywa kodera dla formatu, do którego chcesz dokonać transkodowania.

Na przykład uruchomienie flac2all opus […] bez kodera Opus spowoduje błąd „FileNotFound”. Możesz rozwiązać problem, instalując ffmpeg. Jest to program typu catch-all, który zainstaluje również większość popularnych koderów audio. Uruchom sudo apt install ffmpeg, aby dodać ffmpeg do swojego systemu.

Proces roboczy nie znalazł żadnego nośnika w moim montażu SSHFS. Czy flac2all jest uszkodzony?

Nie. Zwykle dzieje się tak z powodu niezgodności katalogu między procesem głównym a jego procesami roboczymi. Aby mieć pewność, że klaster transkodowania działa, sprawdź, czy ścieżki plików między każdym komputerem są takie same, uruchamiając pwd zarówno w folderze multimediów, jak i w katalogu głównym podłączenia SSHFS.

Źródło zdjęcia: Unsplash i Wikimedia Commons Wszystkie zmiany i zrzuty ekranu wykonał Ramces Red

Powiązane artykuły