ffmpegを使用して類人猿をmp3に変換する方法


10

ubuntu 13.10でffmpegを使用してAP3をMP3に変換しようとしていますか?

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-53、mp3にエンコードするためのパッケージがインストールされていることを確認してください。

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
「非推奨」メッセージはffmpegLibmp(FFmpegのフォーク)からのものでありffmpeg、FFmpegからのものではないことに注意してください。
llogan 2013年

1
下部にエラーメッセージはありません:Encoder (codec id 86017) not found for output stream #0.0。同じプログラムを別の名前で実行しても、実際の問題は修正されません。Libavの機能が抑制されるだけ-codec:a libmp3lameで、問題が修正される可能性があります。
LiveWireBT 2013年

5

MP3にエンコードするには、次の6つの主なオプションがありますffmpeg

  • Ubuntuユーザーに強制された誤解を招くLibavの混乱を避け、単にの最新のLinuxビルドをffmpegダウンロード、抽出、および実行します。それを入れて、~/bin再度ログインしてください。実行ffmpegすると、この新しいビルドが使用されます。これが最も簡単なオプションです。

  • ステップバイステップガイドffmpegに従って、必要なコーデックや機能を使用して実際のコードをコンパイルします。

  • Trusty PPA用ffmpegUbuntu Multimediaからインストールします(14.04ユーザーの場合)。

  • libavcodec-extra-*パッケージをインストールして、バグのあるlibmp3lame avconvまたは古くからある古い偽のMP3エンコーディングを有効にしますffmpeg

  • パイプしlameて、エンコードに使用します。ffmpeg -i input -f wav - | lame - output.mp3

  • Ubuntuをアップグレード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_toolsし、libmp3lameAPEファイルが存在するディレクトリにインストールされ、ターミナルに入力します。

$ 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キーを押した後に端末がコマンドを実行しないようにします。ループが終了すると、中央の2本の線がループの内側になります。
Zzzach ...

@Zzzach ...:どうもありがとうございました。ふww!やっと、やっとbashを知った!;-)より真剣に、そのコードブロックの編集前のフォーマットを見てください...
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.