Як використовувати ffmpeg для перетворення мавпи в mp3?


10

Я намагаюся використовувати ffmpeg на ubuntu 13.10 для перетворення 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  

Спробуйте перетворити .ape-файл у .mp3 за допомогою ffmpeg, і ви отримаєте таке повідомлення:

*** 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 надається пакетом libav-tools від програмного центру Ubuntu. avconv, як і ffmpeg, запускається з терміналу.

Цей приклад використовує бітрейт 256kbps для файлу output.mp3 та 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'також здійснить перетворення в mp3 за допомогою ffmpeg, але ви отримаєте 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
Зауважте, що "застаріле" повідомлення посилається на ffmpegLibav (вилка FFmpeg), а не ffmpegз FFmpeg.
llogan

1
Немає повідомлення про помилку в нижній частині : Encoder (codec id 86017) not found for output stream #0.0. Запуск тієї ж програми з іншим іменем не виправляє жодної реальної проблеми, вона просто пригнічує фабрикацію Libav, але -codec:a libmp3lameможе бути виправленням проблеми.
LiveWireBT

5

У вас є шість основних варіантів кодування до MP3 за допомогою ffmpeg:

  • Уникайте оманливого безладу Libav, який був змушений користувачами Ubuntu, та просто завантажте, витягніть та виконайте недавню версію Linuxffmpeg . Помістіть його ~/binта повторно увійдіть у систему. Тепер, коли ви запустите, ffmpegвін буде використовувати цю нову збірку. Це найпростіший варіант .

  • Дотримуйтесь покрокового посібника, щоб скласти реальнийffmpeg з будь-якими кодеками та функціями, які ви хочете.

  • Встановіть ffmpegз Ubuntu Multimedia for Trusty PPA (для 14,04 користувачів).

  • Встановіть libavcodec-extra-*пакет, щоб увімкнути кодування MP3 через libmp3lame у баггі avconvчи хитромудрому , старому, підробленому ffmpeg.

  • Трубопровід lameі використовувати його для кодування:ffmpeg -i input -f wav - | lame - output.mp3

  • Оновіть Ubuntu та використовуйте ffmpegпакет від репо. Справжній ffmpegз FFmpeg повернувся до Ubuntu у Vivid 15.04.


2
На мій досвід, більшість проблем з перетворенням відео вирішуються шляхом встановлення реальної ffmpeg. Я використовую статичні збірки --- немає встановлення, не суєти, розтискати та йти ---, вказані у посиланні у цій відповіді, принаймні два роки (оновлення колись) і взагалі не було проблем.
Рмано

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і libmp3lameвстановлюються в каталозі , де мавпи розташовані файли, введіть в терміналі:

$ 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 ...: дуже дякую Pfeww! Тепер, нарешті, я знаю баш! ;-) Більш серйозно, будь ласка, подивіться на попереднє редагування цього блоку коду ...
Cbhihe

0

Сценарій нижче перетворить усі файли wma в mp3 рекурсивно, починаючи з шляху, де виконується команда find. Старі файли wma будуть видалені !!!

Сценарій:

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

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

Ласкаво просимо до AskUbuntu! Чи можете ви відредагувати свою публікацію, щоб полегшити читання сценарію. (Використовуйте> або 4 пробіли перед кожним рядком)
немає часу
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.