명령 줄을 통해 mp3 파일을 ogg로 대량 / 일괄 변환 하시겠습니까?


44

명령 줄을 통해 mp3를 ogg로 변환 할 수 있습니까?

대량의 급습에서 mp3 파일을 ogg로 변환하여 문제없이 파이어 폭스에서 재생할 수 있도록하고 싶습니다.


파이어 폭스는 MP3 파일을 잘 재생해야합니다
mchid

답변:


37

ogg와 일치하는 패키지를 검색 한 결과 dir2ogg 가 발견 되었습니다 . 다만

sudo apt-get install dir2ogg
dir2ogg -r /path/to/mp3s/

그리고 재귀 적으로 모든 mp3 파일을 찾아서 /path/to/mp3s/ogg 로 변환합니다 (설명서를 올바르게 읽었다 고 가정).


30

FFMPEGString Manipulation 의 조합을 사용하십시오 .

mp3가있는 폴더로 변경하십시오.

cd mp3folder

한 가지 예는 간단한 "for"루프를 사용하는 것입니다.

for file in *.mp3
  do ffmpeg -i "${file}" "${file/%mp3/ogg}"
done

큰 따옴표는 파일 이름의 공백이 '줄 바꾸기'로 취급되지 않도록합니다.

ffmpeg에는 코덱, 비트 전송률, 샘플 크기, 스테레오 / 모노 등의 변환에 포함 할 여러 옵션이 있습니다. 위의 기본 설정을 사용하는 가장 일반적인 변환입니다.


우수한. dir2ogg는 wheezy에서 작동하지 않았지만이 답변은 매력처럼 작동했습니다.
Onimusha

dir2ogg는 나에게도 효과가 없었지만 m4a-> ogg로 변환하고있었습니다. <a href=" linuxquestions.org/questions/linux-general-1/… "title= linuxquestions.org"> lq </a> 위의 for 루프는 (avconv로 ffmpeg 대체) m4a / mp3을 위 과정에서 파일 크기는 9 배 증가하지만 m4a를 mp3로 변환 한 다음 mp3를 ogg로 변환하면 파일 크기는 4 배만 증가합니다. <pre> <code> avconv -i "ManjusriMantra.m4a" " ManjusriMantra.mp3 "대기 avconv -i"ManjusriMantra.mp3 ""ManjusriMantra.ogg "<code> <pre>
afc888ny

이것은 나를 위해 일했습니다 : ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.ogg최고 품질 설정, 여전히 원본보다 눈에 띄게 악화. 기본 설정은 전혀 효과가 없었습니다 (Cygwin에서 저를 고소하십시오 :)),이 질문에는 좋은 정보가 있습니다 : superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
Kai Carver

19

MP3, M4A 등에서 OGG로 변환 때 결과 나빠질 수 있으므로 주의하십시오 !

경고 : MP3 및 OGG는 WAV 또는 FLAC와 달리 손실많은 형식입니다. 이것은 사람의 귀에 들리지 않는 오디오 정보를 버려서 압축을 크게한다는 것을 의미합니다 ( 심리 음향학 [wikipedia] )

한 손실 형식에서 다른 손실 형식으로 인코딩 (트랜스 코드) 할 때 심리학 적으로 중복되는 비트의 대부분이 이미 사라 졌으므로 트랜스 코딩 품질이 저하되어 결과적으로 "청각 적"일 수 있습니다. 따라서 절대적으로 필요한 경우가 아니면 그러한 변환을 수행하지 않는 것이 좋습니다.


소스 비트 전송률보다 높은 대상 비트 전송률 을 선택하여 효과를 최소화하십시오.

이 MP3에서 OGG 로의 변환을 수행하는 경우 소스 비트 전송률보다 높은 대상 비트 전송률 을 사용하여 아티팩트 (품질 저하) 가능성을 최소화 할 수 있습니다 . 예를 들어 MP3가 128kbps 인 경우 Ogg를 사용하십시오 (가변 비트 전송률 레벨) 7), 보통 ~ 200kbps 정도입니다.-q7

원하는 -q것을 수행 해야하는 dir2ogg (@geirha가 언급 한 repos에서 사용 가능)에 옵션을 전달할 수 있습니다 .


10

avconv 에 gpl 프로그램을 사용할 수 있습니다. 예를 들어 쉘을 사용했습니다 (.mp3 파일이있는 폴더에서 실행).

#!/bin/bash
if hash avconv > /dev/null; then
    for file in *.mp3
        do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
    done
else
    echo "avconv not found"
fi

또는 avconv 설치를 검증하지 않고보다 간단한 버전 :

#!/bin/bash
for file in *.mp3
    do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
done

참고 : avconv 패키지는 최근 지점 / 포크이다 는 FFmpeg 유사한 구문과 기능.
david6

참고 2 : ffmpeg 공식적으로 사용되지 않으며 avconv대신 사용해야한다고 명시 적으로 언급합니다 .
ashes999

3

ogg에 의한 mp3의 구문 분석 / 교체가 올바르지 않습니다. 올바른 양식은 다음과 같아야합니다.

for file in *.mp3;

   do ffmpeg -i "${file}" -acodec libvorbis "${file%mp3}ogg";

done

2

여기 mplayer를 사용하는 사람이 있는데 이것은 avconv보다 빠르다고 생각합니다. 파이어 폭스는 기본적으로 mp3 파일을 재생해야합니다.

#!/bin/bash
for f in *.mp3; do
 newname=`echo $f | tr ' ' '_' `
 mv "$f" $newname
 f=$newname
 mplayer $f -novideo -ao pcm:file=tmp.wav
 lame -V 0 -q 0 tmp.wav ${f/.mp3/.ogg}
 rm -f tmp.wav
done

1

오디오 만하는 경우 아래 코드를 사용하십시오. [FF는 .ogg를 재생하지 않습니다.]

for file in *.mp3;
   do ffmpeg -i "${file}" -acodec libvorbis "${file/%mp3/ogg}"; 
done


0

문제가 해결 될 것 같습니다. http://www.perturb.org/display/entry/687/


"그것"이 무엇인지 자세히 설명해 주시겠습니까? 그것은 당신의 답변에 더 많은 맥락을 추가하고 당신이 참조하는 링크가 언젠가 사라지면 유용성을 향상시킬 것입니다 =)
SaultDon

당신이 제안한대로 할 것이지만 geirha의 대답을 보았습니다.
Garry Cairns
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.