Làm thế nào để sử dụng ffmpeg để chuyển đổi ape sang mp3?


10

Tôi đang cố gắng sử dụng ffmpeg trên Ubuntu 13.10 để chuyển đổi AP3 sang MP3?

Tôi đã cài đặt ffmpeg , nhưng tôi gặp lỗi này khi sử dụng. Xin vui lòng cho tôi biết làm thế nào tôi có thể sửa chữa nó?

$ 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

Câu trả lời:


9

Trước tiên hãy đảm bảo rằng bạn đã libavcodec-extra-53cài đặt gói mã hóa sang mp3.

sudo apt-get install libavcodec-extra-53  

Hãy thử chuyển đổi tệp .ape thành .mp3 bằng ffmpeg và bạn sẽ nhận được thông báo sau:

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

Đây là thông báo lỗi tương tự mà bạn nhận được trong câu hỏi của mình. Vì vậy, sử dụng avconvthay thế. Chương trình avconv được cung cấp bởi gói libav-tools từ Trung tâm phần mềm Ubuntu. avconv, như ffmpeg, được chạy từ thiết bị đầu cuối.

Ví dụ này sử dụng bitrate 256kbps cho tệp output.mp3 và id3v2_version 3 cho các thẻ siêu dữ liệu. Đầu tiên thay đổi thư mục bằng cách sử dụng cdlệnh vào cùng thư mục chứa tệp input.ape sẽ được chuyển đổi. Sau đó chạy lệnh:

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

Lưu ý: Lệnh: ffmpeg -i '10 Make Peace.ape' -acodec libmp3lame -b 256k -id3v2_version 3 '10 Make Peace.mp3'cũng sẽ thực hiện chuyển đổi sang mp3 bằng ffmpeg, nhưng bạn sẽ nhận được thông THIS PROGRAM IS DEPRECATEDbáo lỗi. Gói ffmpeg vẫn có sẵn trong Ubuntu 13.10 và các bản phát hành trước đó.

Trong Ubuntu 14.04, gói thư viện codec Libav (codec bổ sung) (libavcodec-Extra-53) đã được cập nhật thành libavcodec-Extra-54. Trong Ubuntu 14.10 và 15.04, gói thư viện codec Libav (codec bổ sung) đã được cập nhật thành libavcodec-Extra-56.

Cập nhật cho Ubuntu 15.10 trở lên

Trong Ubuntu 15.10 và 16.04, gói thư viện codec Libav (codec bổ sung) đã được cập nhật thành libavcodec-ffmpeg-Extra56.

Trong Ubuntu 16.10, 17.04, 17.10 và 18.04, gói thư viện codec Libav (codec bổ sung) đã được cập nhật thành libavcodec-Extra57.

Trong Ubuntu 18.10 và 19.04, gói thư viện codec Libav (codec bổ sung) đã được cập nhật thành libavcodec-Extra58.


2
Lưu ý rằng thông báo "không dùng nữa" đề cập đến ffmpegtừ Libav (một nhánh của FFmpeg) chứ không phải ffmpegtừ FFmpeg.
llogan

1
Không có thông báo lỗi ở phía dưới : Encoder (codec id 86017) not found for output stream #0.0. Chạy cùng một chương trình với một tên khác không khắc phục được bất kỳ vấn đề thực sự nào, nó chỉ ngăn chặn sự giả mạo của Libav, nhưng -codec:a libmp3lamecó thể là cách khắc phục sự cố.
LiveWireBT

5

Bạn có sáu tùy chọn chính để mã hóa thành MP3 với ffmpeg:

  • Tránh tình trạng lộn xộn Libav gây hiểu lầm cho người dùng Ubuntu và chỉ cần tải xuống, giải nén và thực thi bản dựng Linuxffmpeg gần đây . Đặt nó vào ~/binvà sau đó đăng nhập lại. Bây giờ khi bạn chạy ffmpegnó sẽ sử dụng bản dựng mới này. Đây là lựa chọn dễ nhất .

  • Thực hiện theo hướng dẫn từng bước để biên dịch thực tếffmpeg với bất kỳ codec và tính năng nào bạn muốn.

  • Cài đặt ffmpegtừ Ubuntu đa phương tiện cho Trusty PPA (cho 14.04 người dùng).

  • Cài đặt libavcodec-extra-*gói để kích hoạt mã hóa MP3 qua libmp3lame trong lỗi avconvhoặc lỗi , cũ, giả ffmpeg.

  • Ống đến lamevà sử dụng nó để mã hóa:ffmpeg -i input -f wav - | lame - output.mp3

  • Nâng cấp Ubuntu và sử dụng ffmpeggói từ repo. Thực tế ffmpegtừ FFmpeg đã trở lại Ubuntu trong Vivid 15.04.


2
Theo kinh nghiệm của tôi, hầu hết các vấn đề với chuyển đổi video được giải quyết bằng cách cài đặt thực ffmpeg. Tôi đang sử dụng các bản dựng tĩnh --- không cài đặt, không phiền phức, giải nén và đi --- được cung cấp trong liên kết trong câu trả lời này kể từ ít nhất hai năm (đôi khi cập nhật) và không có vấn đề gì cả.
Rmano

1

Đây là một Script khác có thể giúp mọi người. Những gì bạn sẽ cần làm là sao chép nó vào thư mục gốc của các tập tin vượn bạn muốn chuyển đổi.

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

Với libav_toolslibmp3lameđược cài đặt trong thư mục chứa tệp ape, nhập vào terminal:

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

Với tất cả các tệp ape trong thư mục chuyển đổi thành mp3 stereo 320kb và các thẻ trong các tệp ape được tôn trọng.


1
Xin vui lòng, kiểm tra khối mã của bạn. Làm cho không có ý nghĩa (ít nhất là với tôi).
Cbhihe

Các khối mã làm cho ý nghĩa hoàn hảo. Câu lệnh for ngăn thiết bị đầu cuối thực thi lệnh sau khi bạn nhấn enter. Việc hoàn thành kết thúc vòng lặp, trong khi hai dòng ở giữa nằm trong vòng lặp.
Zzzach ...

@Zzzach ...: cảm ơn bạn rất nhiều. Pfeww! Bây giờ, cuối cùng, tôi biết bash! ;-) Nghiêm trọng hơn, vui lòng xem định dạng chỉnh sửa trước của khối mã đó ...
Cbhihe

0

Kịch bản dưới đây sẽ chuyển đổi tất cả các tệp wma sang mp3 đệ quy bắt đầu từ đường dẫn nơi lệnh find được thực thi. Các tập tin wma cũ sẽ bị xóa !!!

Kịch bản:

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

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

Chào mừng bạn đến với AskUbfox! Bạn có thể chỉnh sửa bài viết của bạn để làm cho kịch bản dễ đọc hơn. (Sử dụng> hoặc 4 khoảng trắng trước mỗi dòng)
Không có thời gian
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.