Trích xuất wav từ mp4 trong khi vẫn giữ được chất lượng cao nhất có thể


39

Tôi đã xem qua tài liệu và tôi có thể trích xuất một wavtệp từ một mp4tệp bằng lệnh:

ffmpeg -i my_video.mp4 output_audio.wav

Tuy nhiên, làm thế nào tôi có thể kiểm soát chất lượng của wavtập tin? (ví dụ: tôi muốn duy trì chất lượng của âm thanh gốc nhiều nhất có thể)

Câu trả lời:


20

wavcác tệp thường chứa âm thanh không nén và đó là mặc định khi tạo wavtệp bằng cách sử dụng ffmpeg. Vì vậy, lệnh của bạn sẽ bảo toàn chất lượng tối đa, vì không có nén mất (hoặc nén bất kỳ loại nào) để giảm chất lượng.

Giả sử rằng âm thanh gốc được nén, bạn có thể giữ nguyên chất lượng mà không cần kích thước tệp lớn cần thiết cho âm thanh không nén bằng cách chỉ sao chép âm thanh gốc (không có video) sang mp4tệp mới :

ffmpeg -i my_video.mp4 -c copy -map 0:a output_audio.mp4

Bạn cũng có thể mã hóa lại hoặc chuyển đổi nó sang một codec âm thanh khác, nhưng nếu codec đó sử dụng nén mất dữ liệu thì chất lượng sẽ bị mất.


Cảm ơn. Điều gì về tốc độ lấy mẫu và # byte mỗi giây? Làm thế nào để ffmpeg chọn những điều này tự động?
Amelio Vazquez-Reina

Tỷ lệ mẫu sẽ giống như tốc độ đầu vào. Bởi vì nó là không nén, tốc độ bit cho wavtập tin chỉ đơn giản là tỷ lệ mẫu × mẫu kích thước × số kênh . Nếu bạn muốn giảm chất lượng, bạn có thể yêu cầu ffmpeglấy mẫu lại ở mức thấp hơn, thay đổi nó thành PCM 8 bit hoặc trộn lẫn thành đơn âm, nhưng theo mặc định, nó không làm điều đó.
mark4o

1
BTW bạn cũng có thể yêu cầu nó lấy mẫu lại với tốc độ cao hơn, nhưng điều đó sẽ chỉ làm tăng kích thước tệp chứ không phải chất lượng, vì vậy không có nhiều điểm trong đó trừ khi bạn cần một tỷ lệ mẫu cụ thể.
mark4o

1
Trên hệ thống của tôi với Ubuntu 14.04, tôi phải sử dụng -acodec copythay vì-c copy -map 0:a
Daniel Alder

Điều này không xuất dưới dạng tệp sóng và không trả lời câu hỏi.
Andrew

22

Trích xuất âm thanh lossless / lossy từ video ( flv / mp4 to wav / flac / mp3) Sử dụng ffmpegphiên bản 2.3.1 trong Ubuntu 14.04

Truy cập: http://howto-pages.org/ffmpeg/

Trước hết tìm dữ liệu cơ bản từ nguồn. Mở video trong VLC Player. Đi đến

> Tools > Codec Information 
> Stream 0 (Video/ Codec/ Resolution/ Frame rate) 
> Stream 1 (Audio/ Codec/ Channel/ Sample rate)

Xem xét một tệp đầu vào ( -i), chẳng hạn như, input.mp4hoặc các tệp khác- flv, avi, ...). Để xóa video ( -vn) và loại bỏ âm thanh không nén ( output.wav) ở tốc độ mẫu 44100 Hz ( -ar 44100) trong mã xung được điều chế với các mẫu đã ký, 16 bit, endian ( -acodec pcm_s16le) và 2 kênh (âm thanh nổi) ( -ac 2), hãy sử dụng lệnh sau.

ffmpeg -i input.mp4 -vn -acodec pcm_s16le -ar 44100 -ac 2 output.wav

Các -acodeclựa chọn khác là mp3 flac m4a.

-acode flacchuyển đổi thành tập tin 24 bit. Để lấy mẫu 16 bit, nó phải là

ffmpeg -i input.mp4 -acodec flac -bits_per_raw_sample 16 -ar 44100 output.flac

tập tin wav và flac lớn hơn tập tin mp4

ac3chuyển đổi hoạt động với -acodec 3F2R/LFE -ac 6nhưng tạo ra 4 rãnh giả, như được kiểm tra trong Audacity.

Để chuyển đổi mp3, chỉ cần sử dụng

ffmpeg -i input.mp4 -vn -acodec mp3 -ab 320k -ar 44100 -ac 2 output.mp3

Người ta có thể có thêm tùy chọn cho cả đầu vào và đầu ra bằng cách thử từ danh sách thu được từ dòng lệnh trên thiết bị đầu cuối

$ ffmpeg -help

1
Điều này không trả lời câu hỏi. OP đã biết cách trích xuất âm thanh dưới dạng tệp WAV. Họ đang hỏi làm thế nào để kiểm soát chất lượng mà tất nhiên là không thể, và do đó nên là câu trả lời (như mark4o). MP3 và FLAC cũng nằm ngoài phạm vi ở đây.
slhck

Tôi đã đến liên kết này để tìm giải pháp và khi tôi đang làm việc xung quanh, tôi đã nhận được một số chi tiết như tôi đã đề cập. Vấn đề như tôi đã hiểu và tôi cũng đang giải quyết, đó là "làm cách nào tôi có thể kiểm soát chất lượng của tệp wav? (Ví dụ: tôi muốn duy trì chất lượng của âm thanh gốc nhiều nhất có thể)". Tôi không phải là một tín đồ công nghệ, mà là một người có sở thích và mới biết về Ubuntu và ffmpeg. $ ffmpeg -i input.mp4 cũng cung cấp tất cả chất lượng bắt đầu và các tùy chọn có thể được thêm vào để có được nhiều nhất.
dr.murli

Unknown encoder 'pcm_s161e'xin vui lòng tư vấn về cách giải quyết này.
kRazzy R
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.