2014-10-13 17 views
5

Trước đó tôi đã viết như vậy:Ffmpeg, avconv và sameq

ffmpeg -i input.mp4 -sameq output.mp3 

... và do đó nhận được âm thanh từ file video. Ffmpeg vừa được đưa ra hoặc chuyển đổi âm thanh sang mp3 với chất lượng phù hợp. Tất cả nhờ vào chính: -sameq [sử dụng cùng một quantizer như nguồn]

Bây giờ trong Ubuntu thay vì ffmpeg chúng tôi có libav và ở đó (trong con người cho avcomv) Tôi thấy không có chìa khóa -sameq. Vâng, đây là một câu hỏi: tôi phải làm gì bây giờ? ..

Tôi phải làm gì bây giờ để chuyển đổi tệp âm thanh có cùng chất lượng như trong bản gốc?

PS. -sameq: Sử dụng cùng một quantizer làm nguồn (ngụ ý VBR).

$ man ffmpeg | col -b > ./man_ffmpeg 

this man_ffmpeg is there: http://pastebin.com/qYxz1M1E

FFMPEG(1) 
NAME 
    ffmpeg - ffmpeg video converter 
SYNOPSIS 
    ffmpeg [[infile options][-i infile]]... {[outfile options] outfile}... 
... 
... 
... 
-sameq 
    Use same quantizer as source (implies VBR). 
... 
... 
... 
SEE ALSO 
    avplay(1), avprobe(1), avserver(1) and the Libav HTML documentation 
AUTHORS 
    The Libav developers 
2014-02-06 
FFMPEG(1) 
+2

Xem [Tùy chọn '-sameq' hoặc' -same_quant' trong FFmpeg là gì? Nó có nghĩa là "chất lượng tương tự"] (http://superuser.com/q/478549/110524)? – LordNeckbeard

+0

Bạn không thể đạt được "chất lượng như nhau" khi sử dụng bộ mã hóa mất dữ liệu, nhưng bạn có thể cho nó đủ bitrate mà âm thanh giống nhau. Để sử dụng MP3 '-b: a' hoặc' -q: a' như được hiển thị trong [Hướng dẫn mã hóa MP3 FFmpeg] (https://trac.ffmpeg.org/wiki/Encode/MP3) (có thể không áp dụng cho 'avconv'). – LordNeckbeard

+0

Phím -sameq nằm trong man ffmpeg @LordNeckbeard, bạn có thể xem công cụ này ở đó: http://pastebin.com/qYxz1M1E và tôi cần một số việc thực hiện rằng "cùng một quantizer là nguồn" nhưng trong avconv – xiaose

Trả lời

3

Bạn là chính xác, -sameq tùy chọn đã bị phản đối và sau đó lấy ra từ avconv, có rất nhiều lý do cho nó. Không ít nhất là nó có các quantizers khác nhau và nó làm cho ít ý nghĩa nói về cùng một tham số quantizer khi reencoding giữa các codec khác nhau.

Đa số mọi người, khi việc mã hóa lại đang tìm kiếm chất lượng chứ không phải số lượng. Vì vậy, họ nên sử dụng -qscale n trong đó n là từ 1 đến 31 đại diện cho chất lượng từ tốt nhất đến tồi tệ nhất.

Bằng cách nào đó nếu bạn đã quen với tùy chọn -sameq, bạn đã trở thành nạn nhân của một công cụ cần phải có ở đó tốt nhất cho mục đích thử nghiệm. Nó không tạo ra bất cứ điều gì hợp lý, và có thể được kinned để cố gắng đặt "cùng một siêu dữ liệu" vào container mà không hỗ trợ nó, hoặc làm "sao chép dòng" vào một định dạng tập tin cổ xưa (dẫn đến những thứ như AVI với âm thanh vorbis , thậm chí không thể chơi được). Bạn có thể hack một cái gì đó với nhau mà làm tất cả những điều này, nhưng nó không có chỗ trong một công cụ mã hóa video.

Tôi đề nghị rằng nếu bạn định thử nghiệm căng thẳng các thùng chứa và codec khác nhau, thì bạn cài đặt ffmpeg trong đó có nhiều công cụ hơn cho phép tạo ra các frankensteins. Nếu bạn đang mã hóa cho mục đích thực sự giữ các tệp mà bạn sản xuất hoặc phân phối chúng, bạn có thể tạo một câu hỏi khác giải thích tình huống của bạn và kết quả mong muốn của bạn là gì.

Tóm lại "Làm thế nào tôi có thể tạo quy trình mã hóa lại với chính xác cùng một bộ định lượng?" Chỉ có thể trả lời bằng "Không".