Konwersja FLAC na ALAC, zachowanie znaczników - w skrypcie


3

Obecnie tworzę skrypt do obsługi równoległych bibliotek muzycznych, ponieważ mam urządzenia, które nie mogą odtwarzać FLAC, ale wolą przechowywać moją muzykę w tym formacie. Mam jednak problem z częścią, która konwertuje FLAC na ALAC. Obecnie po prostu wysyła FFMPEG, aby wykonać zadanie. Jednak FFMPEG (wersja 0.5.9) nie wydaje się zachowywać tagów! -map_meta_data infile: outfile nie działa ... nie działa również -map_meta_data outfile: infile, -map_meta_data 0: 0 lub -map_meta_data 0: 0, s0 (lub coś w tym rodzaju), z których wszystkie widziałem, jak sugerują ludzie .

Więc ... Teraz szukam programu wiersza polecenia (lub biblioteki Python), który może konwertować FLAC na ALAC w systemie Linux, zachowując dane znaczników. Byłoby nawet do przyjęcia, gdybym musiał skopiować tagi po konwersji - ale nie mogę też znaleźć rozwiązania tego problemu. Próbowałem QLCLI, ale wydaje się, że zawodzi podczas importowania Quod Libet. Staram się, aby to wszystko działało pod Ubuntu. Jakieś sugestie?


1
Czy możesz wypróbować nowszą wersję FFmpeg? Możesz skompilować go ze źródła, jak udokumentowano na stronie głównej
slhck

1
W Ubuntu 12.04 LTS wygląda na to, że podana wersja ffmpeg zachowuje tagi. Właśnie próbowałem ffmpeg -i "in.flac" -acodec alac "out.m4a"i wszystkie tagi wyglądają na przekonwertowane.
mivk

Odpowiedzi:


1

Obecny ffmpeg (wersja 2.0.2, kiedy to piszę) obsługuje zarówno dekodowanie, jak i kodowanie ALAC. I domyślnie kopiuje globalne metadane z pierwszego pliku wejściowego.

Wywoływanie go w ten sposób:

ffmpeg -i track01.flac -c:a alac track01.m4a

utworzono plik ALAC z skopiowanymi metadanymi.


-1

Jeśli źródłowy plik audio ma osadzoną okładkę, ffmpeg przekonwertuje go na wideo, co prawdopodobnie nie jest tym, czego chcesz. Pełne polecenie to:

ffmpeg -i file.flac -vn -acodec alac file.m4a

I w trybie wsadowym:

ls *flac | while read f; do
    ffmpeg -i "$f" -acodec alac -vn "${f[@]/%flac/m4a}" < /dev/null;
done

-vnPrzełącznik uczyni ffmpeg ignorować części „Video” z pliku źródłowego. Tagi zostaną przeniesione do pliku docelowego, ale wolałbym użyć taggera Picard, aby oznaczyć nowe pliki za pomocą solidnej bazy danych wykonawców / prac / wydań jako MusicBrainz.

Oto bardziej zaawansowane techniki:

https://avi.alkalay.net/2016/09/multimedia-linux-cli.html

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.