Como usar o ffmpeg para converter macaco em mp3?


10

Estou tentando usar o ffmpeg no ubuntu 13.10 para converter AP3 para MP3?

Instalei o ffmpeg , mas recebo esse erro quando o uso. Por favor, diga-me como posso corrigir isso?

$ 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

Respostas:


9

Primeiro, verifique se você possui o libavcodec-extra-53pacote para codificação para mp3 instalado.

sudo apt-get install libavcodec-extra-53  

Tente converter o arquivo .ape em .mp3 usando ffmpeg e você receberá a seguinte mensagem:

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

Esta é a mesma mensagem de erro que você recebeu na sua pergunta. Então use em seu avconvlugar. O programa avconv é fornecido pelo pacote libav-tools do Ubuntu Software Center. O avconv, como o ffmpeg, é executado no terminal.

Este exemplo usa taxa de bits de 256kbps para o arquivo output.mp3 e id3v2_version 3 para as tags de metadados. Primeiro mude o diretório usando o cdcomando para o mesmo diretório em que o arquivo input.ape a ser convertido está localizado. Em seguida, execute o comando:

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

Nota: O comando: ffmpeg -i '10 Make Peace.ape' -acodec libmp3lame -b 256k -id3v2_version 3 '10 Make Peace.mp3'também fará a conversão para mp3 usando ffmpeg, mas você receberá a THIS PROGRAM IS DEPRECATEDmensagem de erro. O pacote ffmpeg ainda está disponível no Ubuntu 13.10 e versões anteriores.

No Ubuntu 14.04, o pacote da biblioteca de codecs Libav (codecs adicionais) (libavcodec-extra-53) foi atualizado para libavcodec-extra-54. No Ubuntu 14.10 e 15.04, o pacote da biblioteca de codecs Libav (codecs adicionais) foi atualizado para libavcodec-extra-56.

Atualizações para o Ubuntu 15.10 e posterior

No Ubuntu 15.10 e 16.04, o pacote da biblioteca de codecs Libav (codecs adicionais) foi atualizado para libavcodec-ffmpeg-extra56.

No Ubuntu 16.10, 17.04, 17.10 e 18.04, o pacote da biblioteca de codecs Libav (codecs adicionais) foi atualizado para libavcodec-extra57.

No Ubuntu 18.10 e 19.04, o pacote da biblioteca de codecs Libav (codecs adicionais) foi atualizado para libavcodec-extra58.


2
Observe que a mensagem "obsoleta" se refere ao ffmpegLibav (uma bifurcação do FFmpeg) e não ffmpegao FFmpeg.
Llogan

1
Sem a mensagem de erro está no fundo: Encoder (codec id 86017) not found for output stream #0.0. A execução do mesmo programa com outro nome não corrige nenhum problema real, apenas suprime o fagottery do Libav, mas -codec:a libmp3lamepode ser a solução para o problema.
LiveWireBT

5

Você tem seis opções principais para codificar para MP3 com ffmpeg:

  • Evite a bagunça enganosa do Libav que foi imposta aos usuários do Ubuntu e simplesmente baixe, extraia e execute uma compilaçãoffmpeg recente do Linux . Coloque-o ~/bine depois faça login novamente. Agora, quando você executar ffmpeg, usará essa nova compilação. Esta é a opção mais fácil .

  • Siga um guia passo a passo para compilar o realffmpeg com os codecs e recursos desejados.

  • Instale a ffmpegpartir do Ubuntu Multimedia for Trusty PPA (para 14.04 usuários).

  • Instale o libavcodec-extra-*pacote para habilitar a codificação MP3 via libmp3lame no buggy avconvou no crappy, old, fake ffmpeg.

  • Canalize lamee use-o para codificar:ffmpeg -i input -f wav - | lame - output.mp3

  • Atualize o Ubuntu e use o ffmpegpacote do repositório. O real ffmpegdo FFmpeg retornou ao Ubuntu no Vivid 15.04.


2
Na minha experiência, a maioria dos problemas com a conversão de vídeo são resolvidos com a instalação do real ffmpeg. Estou usando as compilações estáticas - sem instalação, sem problemas, descompactando e pronto - fornecidas no link nesta resposta há pelo menos dois anos (atualizando em algum momento) e não tive nenhum problema.
Rmano

1

Aqui está outro script que pode ajudar as pessoas. O que você precisará fazer é copiá-lo para a pasta raiz dos arquivos dos macacos que você deseja converter.

#!/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

Com libav_toolse libmp3lameinstalado no diretório em que os arquivos do macaco estão localizados, digite o terminal:

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

Com isso, todos os arquivos macacos no diretório convertem para mp3 estéreo 320kb e as tags nos arquivos macacos são respeitadas.


1
Por favor, verifique seu bloco de código. Não faz sentido (pelo menos para mim).
Cbhihe

O bloco de código faz todo o sentido. A instrução for impede que o terminal execute o comando depois que você pressiona enter. O done termina o loop, enquanto as duas linhas no meio estão dentro do loop.
Zzzach ...

@Zzzach ...: muito obrigado. Pfeww! Agora, finalmente, eu sei bash! ;-) Mais a sério, por favor, olhar para a formatação desse bloco de código pré-edit ...
Cbhihe

0

O script abaixo converterá todos os arquivos wma para mp3 recursivamente, iniciando no caminho em que o comando find é executado. Arquivos WMA antigos serão excluídos !!!

Roteiro:

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

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

Bem-vindo ao AskUbuntu! Você pode editar sua postagem para facilitar a leitura do script. (Use> ou 4 espaços antes de cada linha)
Sem tempo
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.