วิธีการใช้ ffmpeg เพื่อแปลง ape เป็น 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 Software Center 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
โปรดทราบว่าข้อความ "เลิกใช้แล้ว" อ้างถึงffmpegจาก Libav (ทางแยกของ FFmpeg) และไม่ใช่ffmpegจาก FFmpeg
llogan

1
Encoder (codec id 86017) not found for output stream #0.0ไม่มีข้อผิดพลาดอยู่ด้านล่าง: การรันโปรแกรมเดิมที่มีชื่ออื่นไม่สามารถแก้ไขปัญหาที่แท้จริงได้เพียงแค่ระงับ favottery ของ Libav แต่-codec:a libmp3lameอาจเป็นการแก้ไขปัญหา
LiveWireBT

5

คุณมีหกตัวเลือกหลักในการเข้ารหัสเป็น MP3 ด้วยffmpeg:

  • หลีกเลี่ยงความเข้าใจผิดระเบียบ Libavที่ถูกบังคับให้ผู้ใช้อูบุนตูและก็ดาวน์โหลด, สารสกัด, และดำเนินการที่ผ่านมาสร้างลินุกซ์ ffmpegใส่ไว้ใน~/binจากนั้นเข้าสู่ระบบอีกครั้ง ตอนนี้เมื่อคุณเรียกใช้ffmpegมันจะใช้งานสร้างใหม่นี้ นี่คือตัวเลือกที่ง่ายที่สุด

  • ทำตามคำแนะนำทีละขั้นตอนเพื่อรวบรวมของจริงffmpegกับตัวแปลงสัญญาณและคุณสมบัติที่คุณต้องการ

  • ติดตั้งffmpegจากUbuntu มัลติมีเดียสำหรับ Trusty PPA (สำหรับผู้ใช้ 14.04 คน)

  • ติดตั้งlibavcodec-extra-*แพคเกจเพื่อเปิดใช้งานการเข้ารหัสไฟล์ MP3 ผ่าน libmp3lame ในรถหรือเส็งเคร็งที่เก่าปลอมavconvffmpeg

  • ไปที่lameและใช้เพื่อเข้ารหัส:ffmpeg -i input -f wav - | lame - output.mp3

  • อัปเกรด Ubuntu และใช้ffmpegแพ็คเกจจาก repo ของจริงffmpegจาก FFmpeg กลับสู่ Ubuntu ใน Vivid 15.04


2
ffmpegจากประสบการณ์ของผมมีปัญหามากที่สุดกับการแปลงวิดีโอได้รับการแก้ไขโดยการติดตั้งจริง ฉันกำลังใช้งานบิลด์แบบคงที่ --- ไม่มีการติดตั้งไม่ยุ่งยากไม่บีบอัดและไป --- ให้ไว้ในลิงก์ในคำตอบนี้อย่างน้อยสองปี (อัปเดตบางครั้ง) และไม่มีปัญหาเลย
Rmano

1

นี่คือสคริปต์อื่นที่อาจช่วยคน สิ่งที่คุณจะต้องทำคือคัดลอกมันไปไว้ในโฟลเดอร์รูทของไฟล์ ape ที่คุณต้องการแปลง

#!/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ติดตั้งในไดเร็กทอรีที่มีไฟล์ ape อยู่ให้พิมพ์ในเทอร์มินัล:

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

เมื่อไฟล์ ape ทั้งหมดในไดเรกทอรีแปลงเป็น mp3 สเตอริโอ 320kb และแท็กในไฟล์ ape จะได้รับการเคารพ


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 ช่องว่างก่อนแต่ละบรรทัด)
ไม่มีเวลา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.