저는 모든 태그를 유지하면서 몇 테라바이트의 FLAC를 mp3(VBR v0)로 매우 빠르게 변환하기 위해 GPU 또는 적어도 CPU의 여러 코어를 활용할 수 있는 제품을 찾고 있습니다.
어떤 조언이라도 대단히 감사하겠습니다.
답변1
디렉토리 구조(데이터가 플랫한가요?)에 따라 많은 것을 쫓아낼 수 있습니다.퍼시픽 오일 컴퍼니병렬로. 변환할 때 라벨을 보존하는 데 꽤 효과적입니다.
GPU를 활용하지 않지만 일부 병렬화를 사용하면 여러 코어를 활용할 수 있습니다(디스크가 병목 현상을 일으킬 수 있음).
답변2
글쎄, 그것은 실제로 몇 가지 질문입니다.
다중 코어를 활용하는 것은 그리 어렵지 않으며 셸 스크립트와 포크를 통해 달성할 수 있습니다.
다음은 zsh의 매우 간단한 예입니다.
for f in *flac; do
sox $f ${f%%.flac}.mp3 &
done
물론 코어 수를 기준으로 최적화하고 일괄 변환할 수도 있습니다.
이제 태그를 유지하는 것은 또 다른 일입니다.삭스, 이것이 도움이 되는지 확인해 보세요. 그렇지 않은 경우에는 메타플락을 사용하여 데이터를 작은 스크립트에 덤프하고 MP3 태그를 설정합니다(제가 가장 좋아하는 프로그램은눈 D3). FLAC 태그(실제로는 Vorbis 주석)를 ID3 태그로 직접 "번역"해야 합니다.
이 같은:
for f in *flac; do
eyeD3 -a $(metaflac --show-tag-name=ARTIST $f) ${f%%.flac}.mp3
done
물론 이것은 단지 시연을 위한 라벨 등일 뿐입니다. 물론 두 조각을 결합할 수도 있습니다.
그러나 GPU가 해결하는 문제를 최적화하는 데 도움을 드릴 수는 없습니다. GPU는 벡터 계산에 최적화되어 있으므로 이것이 어떻게 도움이 되는지 잘 모르겠습니다.
답변3
저는 이 도구를 사용하지 않았지만 귀하가 찾고 있는 도구인 것 같습니다. 그것은 알려져있다플랙 2 모두. 특히 이 글머리 기호는 다음과 같습니다.
- 스레드 수를 자동으로 선택하기 위한 CPU/코어 감지.
용법
flac2all.py with "-h" to get an overview, like so:
Usage:
flac2all [convert type] [input dir] <options>
where 'convert type' is one of:
[mp3]: convert file to mp3
[vorbis]: convert file to ogg vorbis
[flac]: convert file to flac
[aacplusnero]: (NO TAGGING SUPPORT) convert file to aacplus using the proprietery (but excellent) Nero AAC encoder.
Options:
-h, --help show this help message and exit
-c, --copy Copy non flac files across (default=False)
-v OGGENCOPTS, --vorbis-options=OGGENCOPTS
Colon delimited options to pass to oggenc,for example:
'quality=5:resample 32000:downmix:bitrate_average=96'.
Any oggenc long option (one with two '--' in front)
can be specified in the above format.
-l LAMEOPTS, --lame-options=LAMEOPTS
Options to pass to lame, for example:
'-preset extreme:q 0:h:-abr'. Any lame option can be
specified here, if you want a short option (e.g. -h),
then just do 'h'. If you want a long option (e.g. '--
abr'), then you need a dash: '-abr'
-a AACPLUSOPTS, --aacplus-options=AACPLUSOPTS
AACplus options, currently only bitrate supported.
e.g: " -a 64 "
-o DIR, --outdir=DIR Set custom output directory (default='./')
-f, --force Force overwrite of existing files (by default we skip)
-t THREADS, --threads=THREADS
How many threads to run in parallel (default:
autodetect [found 2 cpu(s)] )
-n, --nodirs Don't create Directories, put everything together
비디오 데모
YouTube에는 16코어 시스템이 포화 상태임을 보여주는 다음과 같은 제목의 비디오도 있습니다.flac2all 포화 16CPU 머신(듀얼 쿼드 코어 + HT).