2013-05-04 59 views
5

Tôi hoàn toàn nhận thức được các ràng buộc pháp lý khi sử dụng libfaac nhưng đây chỉ là mục đích thử nghiệm của tôi.Không thể chuyển đổi .mp3 sang .m4a bằng cách sử dụng ffmpeg

Tôi đã biên soạn ffmpeg với faac được bật. Vì vậy, khi tôi đã cố gắng để chuyển đổi một .mp3 sang một .m4a đây là lỗi mà tôi nhận được. Vui lòng cung cấp giải pháp cho vấn đề này. Tôi đã thử trên hai nguồn khác nhau .mp3, tôi vẫn gặp lỗi tương tự.

[[email protected] ~]$ ffmpeg -i Kalimba.mp3 -c:a libfaac Kalimba.m4a 
ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers 
    built on May 4 2013 09:33:27 with gcc 4.4.6 20120305 (Red Hat 4.4.6-4) 
    configuration: --enable-libfaac --enable-nonfree --disable-yasm 
    libavutil  51. 54.100/51. 54.100 
    libavcodec  54. 23.100/54. 23.100 
    libavformat 54. 6.100/54. 6.100 
    libavdevice 54. 0.100/54. 0.100 
    libavfilter  2. 77.100/2. 77.100 
    libswscale  2. 1.100/2. 1.100 
    libswresample 0. 15.100/0. 15.100 
[mp3 @ 0x2464680] Header missing 
[mp3 @ 0x2463100] max_analyze_duration 5000000 reached at 5015510 
[mp3 @ 0x2463100] Estimating duration from bitrate, this may be inaccurate 
Input #0, mp3, from 'Kalimba.mp3': 
    Metadata: 
    publisher  : Ninja Tune 
    track   : 1 
    album   : Ninja Tuna 
    artist   : Mr. Scruff 
    album_artist : Mr. Scruff 
    title   : Kalimba 
    genre   : Electronic 
    composer  : A. Carthy and A. Kingslow 
    date   : 2008 
    Duration: 00:05:50.60, start: 0.000000, bitrate: 191 kb/s 
    Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16, 192 kb/s 
    Stream #0:1: Video: mjpeg, yuvj420p, 512x512, 90k tbr, 90k tbn, 90k tbc 
    Metadata: 
     title   : thumbnail 
     comment   : Cover (front) 
Output #0, ipod, to 'Kalimba.m4a': 
    Metadata: 
    publisher  : Ninja Tune 
    track   : 1 
    album   : Ninja Tuna 
    artist   : Mr. Scruff 
    album_artist : Mr. Scruff 
    title   : Kalimba 
    genre   : Electronic 
    composer  : A. Carthy and A. Kingslow 
    date   : 2008 
    Stream #0:0: Video: none, q=2-31, 128 kb/s, 90k tbn 
    Metadata: 
     title   : thumbnail 
     comment   : Cover (front) 
    Stream #0:1: Audio: none, 0 channels, 128 kb/s 
Stream mapping: 
    Stream #0:1 -> #0:0 (mjpeg -> ?) 
    Stream #0:0 -> #0:1 (mp3 -> libfaac) 
Encoder (codec none) not found for output stream #0:0 

tập tin MP3 là ở http://db.tt/HtpEBpFU

Ngoài ra khi sử dụng một cách độc lập FAAC tôi nhận được lỗi lạ này cho bất kỳ tập tin.

Freeware Advanced Audio Coder 
FAAC 1.28 

Couldn't open input file sample.mp3 
+0

Vui lòng cung cấp đầu ra đầy đủ, không bị cắt xén 'ffmpeg' và có thể tệp mẫu không chuyển đổi được. – slhck

+0

Đáng ngạc nhiên, chuyển đổi nó thành .aac hoạt động tốt, tức là gần như cùng một lệnh 'ffmpeg -i Kalimba.mp3 -c: a libfaac Kalimba.aac' – rahulg

+0

Cảm ơn bạn đã cung cấp thông tin. Xin lưu ý rằng các câu hỏi về cách sử dụng dòng lệnh 'ffmpeg' không nằm trong chủ đề cho Stack Overflow, vì vậy tôi đã bỏ phiếu để chuyển câu hỏi của bạn sang [SU], nơi chúng phù hợp hơn. Không cần phải hỏi lại: nó sẽ được chuyển sang. – slhck

Trả lời

12

Vấn đề là đầu vào của bạn chứa ảnh bìa album, trong đó ffmpeg phân tích cú pháp dưới dạng video.

Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16, 192 kb/s 
Stream #0:1: Video: mjpeg, yuvj420p, 512x512, 90k tbr, 90k tbn, 90k tbc 

Cố gắng chuyển đổi video nhưng không tìm thấy codec đầu ra hợp lệ cho định dạng MPEG-4 (M4A chỉ là một tên khác). Điều này là do bạn đã biên soạn ffmpeg mà không cần libx264, trong đó ffmpeg cần trong trường hợp đó, vì nó không có bộ mã hóa H.264 gốc.

Dù sao, bạn cần phải ngăn không cho nó cố chuyển đổi tác phẩm nghệ thuật/video. Thêm -vn với các tùy chọn:

ffmpeg -i Kalimba.mp3 -c:a libfaac -vn Kalimba.m4a 

Một số lời khuyên:

  • Với FAAC bạn nên sử dụng tùy chọn -q:a để kiểm soát chất lượng VBR - các giá trị nằm trong khoảng 10-500, nơi 100 là mặc định.
  • Trong FFmpeg, bộ mã hóa AAC chất lượng tốt nhất là libfdk_aac, tiếp theo là libfaac. Tôi không biết về việc cấp phép ở đây, nhưng nó cũng đáng để thử điều đó. Xem AAC Encoding Guide để biết thêm thông tin.
  • Mã hóa thành .aac hoạt động vì định dạng đầu ra không thể chứa video, do đó, ffmpeg sẽ không cố gắng chuyển đổi luồng video/tác phẩm nghệ thuật ở vị trí đầu tiên.
+0

Tôi gặp lỗi Bộ mã hóa không xác định 'libfaac' sử dụng nó. –

+1

Sử dụng một bộ mã hóa khác, xem: http://superuser.com/questions/370625/ffmpeg-command-to-convert-mp3-to-aac – slhck

+0

Điều đó làm việc tốt cho tôi! – Rubyrider

Các vấn đề liên quan