ffmpeg를 사용하여 ape를 mp3로 변환하는 방법?


10

AP3를 MP3로 변환하기 위해 우분투 13.10에서 ffmpeg를 사용하려고합니까?

ffmpeg 설치 했지만 사용할 때이 오류가 발생합니다. 어떻게 고칠 수 있습니까?

$ ffmpeg -i CD1_Age_0-3_Baby.ape CD1_Age_0-3_Baby.mp3
ffmpeg version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
  built on Nov  9 2013 19:15:22 with gcc 4.8.1
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Input #0, ape, from 'CD1_Age_0-3_Baby.ape':
  Metadata:
    Album           : MOZART EFFECT I - ENLIGHTMENT
    Title           : C:\[APE SET] Ī����ЧӦ-�������ǵ����� 4CDS\CDImage01
    Genre           : Classical
    Year            : 2002
    Comment         : Exact Audio Copy
  Duration: 01:09:17.75, start: 0.000000, bitrate: 656 kb/s
    Stream #0.0: Audio: ape, 44100 Hz, stereo, s16
Output #0, mp3, to 'CD1_Age_0-3_Baby.mp3':
    Stream #0.0: Audio: [0][0][0][0] / 0x0000, 44100 Hz, stereo, s16, 200 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Encoder (codec id 86017) not found for output stream #0.0

답변:


9

먼저 libavcodec-extra-53mp3로 인코딩하기위한 패키지가 설치되어 있는지 확인하십시오 .

sudo apt-get install libavcodec-extra-53  

ffmpeg를 사용하여 .ape 파일을 .mp3로 변환하면 다음 메시지가 표시됩니다.

*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release.   
Please use avconv instead.

이것은 귀하의 질문에서 얻은 것과 동일한 오류 메시지입니다. 따라서 avconv대신 사용하십시오. avconv 프로그램은 Ubuntu Software Center 의 libav-tools 패키지에서 제공합니다. ffmpeg와 같이 avconv는 터미널에서 실행됩니다.

이 예에서는 output.mp3 파일에 256kbps 비트 전송률을 사용하고 메타 데이터 태그에 id3v2_version 3을 사용합니다. 먼저 cd명령을 사용하여 변환 할 input.ape 파일이있는 디렉토리로 디렉토리를 변경 하십시오. 그런 다음 명령을 실행하십시오.

avconv -i 'input.ape' -id3v2_version 3 -codec:a libmp3lame -b 256k 'output.mp3'

참고 : ffmpeg -i '10 Make Peace.ape' -acodec libmp3lame -b 256k -id3v2_version 3 '10 Make Peace.mp3'ffmpeg를 사용하여 mp3로 변환하는 명령 도 있지만 THIS PROGRAM IS DEPRECATED오류 메시지가 표시됩니다. ffmpeg 패키지는 여전히 Ubuntu 13.10 및 이전 릴리스에서 사용 가능합니다.

Ubuntu 14.04에서는 Libav 코덱 라이브러리 (추가 코덱) 패키지 (libavcodec-extra-53)가 libavcodec-extra-54로 업데이트되었습니다. Ubuntu 14.10 및 15.04에서 Libav 코덱 라이브러리 (추가 코덱) 패키지가 libavcodec-extra-56으로 업데이트되었습니다.

Ubuntu 15.10 이상 업데이트

Ubuntu 15.10 및 16.04에서 Libav 코덱 라이브러리 (추가 코덱) 패키지가 libavcodec-ffmpeg-extra56으로 업데이트되었습니다.

Ubuntu 16.10, 17.04, 17.10 및 18.04에서 Libav 코덱 라이브러리 (추가 코덱) 패키지가 libavcodec-extra57로 업데이트되었습니다.

Ubuntu 18.10 및 19.04에서 Libav 코덱 라이브러리 (추가 코덱) 패키지가 libavcodec-extra58로 업데이트되었습니다.


2
"더 이상 사용되지 않는"메시지는 ffmpegFFmpeg가 아니라 Libav (FFmpeg의 포크) ffmpeg에서 온 것입니다.
llogan

1
맨 아래에 오류 메시지가 없습니다 Encoder (codec id 86017) not found for output stream #0.0.. 다른 이름으로 동일한 프로그램을 실행해도 실제 문제는 해결되지 않으며 Libav fagottery를 억제하지만 -codec:a libmp3lame문제의 해결책 일 수 있습니다.
LiveWireBT

5

다음을 사용하여 MP3로 인코딩하는 6 가지 주요 옵션이 있습니다 ffmpeg.

  • 우분투 사용자에게 강요된 오해소지가있는 Libav 혼란 을 피하고 최신 Linux 빌드를ffmpeg 다운로드, 추출 및 실행하십시오 . 입력 ~/bin한 다음 다시 로그인하십시오. 이제 실행 ffmpeg하면이 새 빌드가 사용됩니다. 가장 쉬운 옵션 입니다.

  • 후속 실제 컴파일 단계별 가이드를ffmpeg 어떤 코덱을 원하는 있습니다.

  • 설치 ffmpeg으로부터 트러스티 PPA 우분투 멀티미디어 (14.04 사용자).

  • libavcodec-extra-*버그가 avconv있거나 오래되고 가짜 인 libmp3lame을 통해 MP3 인코딩을 사용 하려면 패키지를 설치하십시오 ffmpeg.

  • 다음으로 파이프하여 lame인코딩 :ffmpeg -i input -f wav - | lame - output.mp3

  • 우분투를 업그레이드 ffmpeg하고 저장소 에서 패키지를 사용하십시오 . ffmpegFFmpeg에서 나온 실제 는 Vivid 15.04에서 Ubuntu로 돌아 왔습니다.


2
내 경험상 비디오 변환과 관련된 대부분의 문제는 실제 설치를 통해 해결됩니다 ffmpeg. 나는 적어도 2 년 (때때로 업데이트) 이후이 답변의 링크에 제공된 정적 빌드 (설치 없음, 소란 없음, 압축 해제 및 이동 없음)를 사용하고 있으며 전혀 문제가 없었습니다.
Rmano

1

사람들을 도울 수있는 또 다른 스크립트가 있습니다. 당신이해야 할 일은 변환하려는 원숭이 파일의 루트 폴더에 복사하는 것입니다.

#!/bin/bash

set -e

# Script Name:  convert_ape2mp3.sh
#
# Description:  The script will recursively find all *.ape files
#   and then convert them to mp3 files.
#   This script has been tested on Ubuntu 14.04 
#   
# Dependencies: (you will need to install the following library prior
#                to running this script.)
#     sudo apt-get install libav-tools
# avconv -i '01_Tori Amos_Beauty Queen - Horses.ape' -id3v2_version 3 -codec:a libmp3lame -b 320k '01_Tori Amos_Beauty Queen - Horses.mp3'

# Optional:  After conversion is complete if you want you can 
#   remove all the ape files.
#   find . -type f -name "*.ape" 
#   find . -type f -name "*.ape" -exec rm {} \;

find . -name "*.ape" -print0 | while IFS= read -r -d '' FILE; do
    echo "### Converting $FILE..."
    echo avconv -i "$FILE" -id3v2_version 3 -codec:a libmp3lame -b 320k "${FILE%.*}.mp3";
    avconv -i "$FILE" -id3v2_version 3 -codec:a libmp3lame -b 320k "${FILE%.*}.mp3";

done

1

libav_toolslibmp3lame원숭이 파일이있는 디렉토리에 설치, 터미널을 입력 :

$ for f in *.ape; do
      avconv -i "$f" -id3v2_version 3 -codec:a libmp3lame -ab 320k "${f%.ape}.mp3"
done

그것으로 디렉토리의 모든 원숭이 파일은 mp3 스테레오 320kb로 변환되며 원숭이 파일의 태그는 존중됩니다.


1
코드 블록을 확인하십시오. 말이 안됩니다 (적어도 나에게).
Cbhihe

코드 블록은 완벽합니다. for 문은 Enter 키를 누른 후 터미널이 명령을 실행하지 못하게합니다. 완료는 루프를 끝내고 가운데의 두 줄은 루프 안에 있습니다.
Zzzach ...

@Zzzach ... : 대단히 감사합니다. fe! 이제 마지막으로 나는 배쉬를 안다! ;-) 더 진지하게, 그 코드 블록의 사전 편집 형식을보십시오 ...
Cbhihe

0

아래 스크립트는 find 명령이 실행되는 경로에서 재귀 적으로 모든 wma 파일을 mp3로 변환합니다. 오래된 WMA 파일이 삭제됩니다 !!!

스크립트:

#!/bin/bash
#Command to call wma2mp3 script
#find . -name "*wma" -exec ~/wma2mp3 {} \;

ffmpeg -sameq -i "$1" "${1%.*}.mp3";
rm -f "$1";

AskUbuntu에 오신 것을 환영합니다! 스크립트를 쉽게 읽을 수 있도록 게시물을 편집 할 수 있습니까? (> 또는 각 줄 앞 4 칸을 사용하십시오)
시간 없음
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.