Downmix đúng 5.1 sang âm thanh nổi bằng cách sử dụng ffmpeg


26

Tôi có một đoạn âm thanh 5.1 từ một bộ phim trong đó phía trước bên trái và phía trước bên phải chứa nhạc và trung tâm chứa đoạn hội thoại. Chơi bản nhạc 5.1 trong VLC kết hợp mọi thứ lại với nhau một cách độc đáo.

Tôi đang cố gắng chuyển đổi bản nhạc 5.1 sang âm thanh nổi bằng cách sử dụng ffmpeg -ac 2, tuy nhiên, kết hợp âm thanh nổi có âm lượng yếu hơn nhiều so với phát bản nhạc 5.1.

Việc thêm -af "pan=stereo|c0=FL|c1=FR"cho âm lượng chính xác, nhưng sau đó không có đối thoại vì không bao gồm kênh trung tâm.

Vì vậy, giải pháp có thể là trộn trái / trung tâm / phải thành âm thanh nổi và loại bỏ các kênh loa siêu trầm phía sau? (Tôi đoán ở đây ...)

Vì vậy, câu hỏi là: Làm cách nào để tạo ffmpeg downmix 5.1 thành âm thanh nổi giống như cách VLC thực hiện, với cùng âm lượng mạnh trong kết quả cuối cùng?


Bạn có chắc chắn VLC thực sự đang phát các kênh bổ sung? Việc trộn lẫn có thể dẫn đến việc chuẩn hóa để tổng của mỗi đầu vào trên mỗi kênh đầu ra không dẫn đến quá tải nên việc cắt được ngăn chặn. Điều này có thể làm cho nó âm thanh yên tĩnh hơn.
llogan

Khái niệm cơ bản: Tập tin của tôi là 5.1. Loa của tôi là âm thanh nổi. Tôi không biết VLC làm gì, nhưng nó tạo ra kết quả tuyệt vời trong loa âm thanh nổi của tôi từ dữ liệu nguồn 5.1 (âm lượng lớn, bao gồm cả âm nhạc và hội thoại). ffmpeg, mặt khác, tạo ra kết quả "âm lượng thấp" khi sử dụng -ac 2. Vì vậy, tôi đang hỏi làm thế nào để làm cho ffmpeg tạo ra kết quả tốt như VLC.
forthrin

Câu trả lời:


28

Tôi tìm thấy câu trả lời mà Shane cung cấp để cung cấp quá ít các kênh khác và quá nhiều trung tâm. Phim có tai nghe nghe có vẻ mất cân bằng, với tất cả các đoạn hội thoại và không đủ nhạc nền / hiệu ứng.

Theo tiêu chuẩn ATSC (phần 7.8, trang 91), công thức sau đây được sử dụng để chuyển đổi âm thanh 5.1 sang âm thanh nổi thông thường (trái ngược với ma trận):

Lo = 1.0 * L + clev * C + slev * Ls ;
Ro = 1.0 * R + clev * C + slev * Rs ;

clev và slev phải là 0,77, theo các bảng 5.9 và 5.10 trong tài liệu đã nói ở trên, giả sử mức hỗn hợp trung tâm / vòm là 0. Các giá trị khác được cung cấp trong các bảng làm giảm lượng hỗn hợp trung tâm mà tôi không tìm thấy hữu ích.

Với ý nghĩ này, tùy chọn ffmpeg sau đây tạo ra âm thanh cân bằng tốt với đối thoại âm thanh. Lưu ý rằng việc chỉ định các kênh âm thanh là không cần thiết.

-af "pan=stereo|FL < 1.0*FL + 0.707*FC + 0.707*BL|FR < 1.0*FR + 0.707*FC + 0.707*BR"

Một lưu ý về việc sử dụng ký hiệu nhỏ hơn, từ tài liệu bộ lọc pan :

Nếu '=' trong thông số kênh được thay thế bằng '<', thì mức tăng cho thông số kỹ thuật đó sẽ được tái chuẩn hóa để tổng số là 1, do đó tránh được nhiễu.


5
Các tiêu chuẩn ATSC mà bạn đã liên kết ở đây được liên kết từ wiki FFmpeg về chủ đề này , do đó, không có gì ngạc nhiên khi công thức được sử dụng ở đây là cùng một công thức được FFmpeg thực hiện với công ac -2tắc của nó . Nói cách khác, sự khác biệt duy nhất giữa việc sử dụng bộ lọc này và thực hiện ac -2là gõ nhiều hơn.
Hashim

17

Các câu trả lời cho câu hỏi này đã trở thành một mớ hỗn độn, với nhiều thông tin có chứa thông tin dư thừa và những thông tin khác hoàn toàn không chính xác. Câu trả lời này là một nỗ lực để hợp lý hóa thông tin trong các câu trả lời này trong khi loại bỏ các vấn đề trong đó.

Quan trọng nhất, đáng ghi nhớ rằng câu trả lời của Gregory, hiện là câu trả lời được bình chọn hàng đầu cho câu hỏi này, không khác gì sử dụng công -ac 2tắc - nhiều hơn về điều này dưới đây.

Kết hợp một luồng âm thanh 5.1 kênh thành âm thanh nổi với -ac 2

FFmpeg đi kèm với các khả năng tích hợp để kết hợp một bản nhạc 5.1 thành âm thanh nổi và đây cũng là giải pháp mà tài liệu riêng của FFmpeg khuyến nghị :

Lưu ý: ffmpeg tích hợp hệ thống trộn xuống mặc định (và trộn lên) nên được ưu tiên ( -actùy chọn) trên bộ lọc pan trừ khi bạn có nhu cầu rất cụ thể.

Công -ac 2tắc hoạt động bằng cách trộn tỷ lệ của 5 kênh đầu tiên từ luồng 6 kênh của nguồn - Back Left, Back Right, Front Left, Front Right và Front Center - vào các kênh Front Left và Front Right của luồng stereo đầu ra:

nhập mô tả hình ảnh ở đây

Khi làm như vậy, âm thanh từ kênh LFE ( .1 trong 5.1, dành riêng cho loa siêu trầm và được sử dụng cho các hiệu ứng tần số thấp, sâu) bị loại bỏ hoàn toàn khi sử dụng tùy chọn này.

Thật không may, trong các thử nghiệm của tôi -ac 2đã dẫn đến mức độ chung của cả âm nhạc và hội thoại khác nhau nhất so với nguồn phát, khiến nó trở thành công thức downmix mang lại kết quả tồi tệ nhất trong tất cả các công thức tôi đã thử nghiệm, mặc dù bạn có thể kiểm tra nó và thấy rằng nó cung cấp cho bạn một downmix hoàn toàn phù hợp cho nhu cầu của bạn, trong trường hợp sử dụng bất kỳ công thức nào khác sẽ là quá mức cần thiết cho bạn.


Để trộn lẫn một bản nhạc DTS -ac 2 mà không cần chuyển mã (nghĩa là giữ nguyên codec và phần mở rộng của nó):

ffmpeg -i "sourcetrack.dts" -c:a dca -ac 2 "stereotrack.dts"

Như Mephisto đã chỉ ra trong câu trả lời của mình, nếu đoạn hội thoại và âm nhạc nghe có vẻ cân bằng với nhau nhưng đơn giản là thiếu âm lượng, bạn có thể giảm âm lượng trong khi tăng âm lượng của nó:

ffmpeg -i "sourcetrack.dts" -c:a dca -ac 2 -vol 425 "stereotrack.dts"

Đối với công -voltắc, âm lượng 100% trong nguồn tương đương với giá trị nguyên 256 và sử dụng giá trị lớn hơn giá trị này sẽ làm tăng âm lượng chung của luồng âm thanh. Tuy nhiên, lưu ý rằng làm quá nhiều có thể dẫn đến biến dạng hoặc tạo tác, đặc biệt là trong các phần to hơn của nó.

Ví dụ, để trộn một luồng âm thanh thành âm thanh nổi chuyển mã nó sang codec AC3:

ffmpeg -i "sourcetrack.dts" -c:a ac3 -ac 2 "stereotrack.ac3"

Kết hợp luồng âm thanh 5.1 kênh thành âm thanh nổi với thuật toán trộn tùy chỉnh

Nếu bạn muốn có một bộ trộn chất lượng cao hơn hoặc bạn nhất định phải đưa luồng LFE vào đầu ra của mình, bạn có thể sử dụng công tắc bộ lọc âm thanh của FFmpeg ( -af) để trộn âm thanh bằng công thức trộn tùy chỉnh.

Hòa trộn với công thức ATSC (câu trả lời của Gregory)

Vào thời điểm đăng câu trả lời này, câu trả lời được bình chọn hàng đầu cho câu hỏi này là của Gregory , đưa công thức từ đặc tả ATSC (xem phần 7.8.2, Downmashing vào hai kênh ) vào bộ lọc âm thanh FFmpeg. Thông số kỹ thuật này được liên kết trực tiếp với tài liệu FFmpeg về chủ đề này , cho thấy nó rất có thể là cùng một công thức mà FFmpeg đã thực hiện cho -ac 2chuyển đổi của nó . Nếu điều này là đúng, thì việc gõ toàn bộ công thức trong câu trả lời của Gregory sẽ không khác gì sử dụng công -ac 2tắc, và do đó sẽ lãng phí thời gian.

Tôi đã quyết định kiểm tra điều này một cách chắc chắn bằng cách mã hóa lại cùng một âm thanh đầu vào bằng cả hai -ac 2-afbộ lọc từ câu trả lời của Gregory (các lệnh chính xác được sử dụng có thể được nhìn thấy trong phần chú thích cho câu trả lời này).

Sau đó, tôi đã so sánh kích thước của các tệp đầu ra kết quả và thấy chúng là, từng byte, cùng kích thước:

nhập mô tả hình ảnh ở đây

Cuối cùng, tôi đã mở cả hai tệp đầu ra trong Audacity và so sánh dạng sóng của chúng để xác nhận chúng giống hệt nhau (bấm vào để phóng to):

nhập mô tả hình ảnh ở đây

Do đó, có vẻ như khá kết luận rằng công thức ATSC được nêu chi tiết trong câu trả lời của Gregory là cùng một công thức đã được FFmpeg triển khai và việc sử dụng nó là hoàn toàn dư thừa khi nó không làm gì cả -ac 2, và là một lệnh rườm rà hơn nhiều.

Hòa trộn mà không loại bỏ kênh LFE (câu trả lời của Dave_750)

Trong số một số câu trả lời có trong câu trả lời, đây là công thức duy nhất trong số các công thức downmix xuất hiện để trộn kênh LFE vào âm thanh nổi đầu ra thay vì loại bỏ hoàn toàn và do đó, công thức đảm bảo âm thanh ít nhất từ ​​nguồn phát ra mất đi.

Mức âm lượng tổng thể cao hơn và đầy đủ hơn so với thực hiện -ac 2, nhưng vẫn thấp hơn so với phần kết hợp đối thoại Nightmode bên dưới. Tuy nhiên, các mức nhạc gần với nguồn hơn so với chế độ kết hợp Đối thoại Nightmode và do bao gồm bản nhạc LFE, việc tăng âm lượng đầu ra trong khi sử dụng công thức downmix này có thể tạo ra luồng phát ra âm thanh trung thực cho nguồn 5.1 hơn tất cả các nguồn khác công thức tôi đã thử nghiệm.

Nếu bạn có khả năng, tôi khuyên bạn nên mã hóa (các) luồng âm thanh của mình bằng cả công thức downmix này và downmix Dialmode Dialm, và so sánh cẩn thận các dạng sóng của hai loại để xác định loại nào tốt hơn.

Để trộn lẫn một bản nhạc 5.1 thành âm thanh nổi bằng công thức này tăng mức âm lượng của nó lên 425 (trong đó 256 là 100% mức âm lượng của nguồn ban đầu):

ffmpeg -i "sourcetrack.dts" -c dca -vol 425 -af "pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE" "outputstereo.dts"

Hòa nhập với Đối thoại Nightmode của Robert Collier (câu trả lời của Shane Harrelson)

Công thức Đối thoại Nightmode, được tạo bởi Robert Collier trên diễn đàn Doom9 và được Shane Mitchelson đưa ra trong câu trả lời của ông, dẫn đến kết quả tốt hơn nhiều so với -ac 2chuyển đổi - thay vì các cuộc đối thoại quá im lặng, nó đưa họ trở lại mức độ gần với nguồn.

Từ mô tả của Robert Collier về sự pha trộn:

Sau khi chuyển đổi nhiều đoạn phim DTS từ 5.1 sang 2.0 bằng eac3to, tôi đã tìm thấy ánh xạ kênh eac3to mặc định để tạo ra các cuộc đối thoại rất yên tĩnh và các cảnh hành động và âm nhạc quá lớn. Mặc dù các hệ số downmix kênh eac3to có cơ sở khoa học, nhưng chúng thường không có vẻ tốt trong thực tế bceause của âm lượng đối thoại thấp. Giá trị đặt trước này dành cho những người tìm kiếm các cuộc đối thoại rõ ràng với nhạc kênh trái và phải vẫn có thể nghe được nhưng nhiều hơn trong nền.

Như bạn có thể thấy - trung tâm phía trước (các cuộc đối thoại) đến ngay bây giờ và giữ ở mức ban đầu - trong khi âm nhạc và vụ nổ vẫn là hiệu ứng nền và không áp đảo bạn. Giá trị đặt trước này giải quyết vấn đề bạn phải liên tục mân mê với núm âm lượng khi xem DTS 5.1 được chuyển đổi thành phim 2.0 để nghe các đoạn hội thoại. (Đặc biệt là để xem phim vào ban đêm, nơi bạn không muốn đánh thức người khác nhưng vẫn muốn có thể nghe các đoạn hội thoại).

Thật không may, âm nhạc của công thức downmix này thấp hơn nhiều so với nguồn 5.1 (có khả năng là do thiết kế xem xét ý định của Collier để tạo ra một bản phối âm "nightmode") và do mất hoàn toàn bản nhạc LFE, âm thanh đầu ra tổng thể không âm thanh đầy đủ hoặc gần với nguồn như công thức của Dave_750 với âm lượng được tăng cường .

Tuy nhiên, nếu vì lý do nào đó bạn muốn tránh tăng âm lượng chung của luồng, thì Đối thoại Nightmode có thể là lựa chọn tốt nhất của bạn - mặc dù vậy, tôi rất khuyên bạn nên mã hóa luồng âm thanh của mình cho cả hai và so sánh cẩn thận các dạng sóng của cả hai .

Để kết hợp với công thức Đối thoại Nightmode trong FFmpeg:

ffmpeg -i "sourcetrack.dts" -c dca -af "pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR" "stereotrack.dts" 

Câu trả lời của Tarc

Câu trả lời này chỉ đơn giản là đặt công thức downmix Dialm Nightmode từ câu trả lời của Shane Harrelson thành một lệnh để chuyển đổi luồng âm thanh trong một thùng chứa MKV. Mặc dù lệnh được đưa ra trong câu trả lời này sẽ hoạt động tốt trên luồng âm thanh như vậy, nhưng việc điều chỉnh nó cho một bản âm thanh độc lập sẽ gây ra lỗi:

Lọc và streamcopy có thể được sử dụng cùng nhau

Điều này là do codec âm thanh không thể được sao chép khi trộn lẫn - giống như tất cả các thay đổi khác mà FFmpeg thực hiện đối với luồng đầu ra, một bản phối trộn yêu cầu bản nhạc phải được mã hóa lại để thay đổi được áp dụng.

Lệnh này cũng bao gồm một -ac 2công tắc dự phòng mà FFmpeg sẽ bỏ qua.


Lệnh kiểm tra

Để chứng minh độ tin cậy của các thử nghiệm tôi đã thực hiện cho câu trả lời này, dưới đây là tất cả các lệnh tôi đã sử dụng để kiểm tra từng công thức downmix.

Lệnh kiểm tra được sử dụng cho -ac 2tùy chọn:

ffmpeg -i "signed16bitPCM.wav" -c pcm_s16le -ac 2 "Audio 1 (-ac 2).wav"

Lệnh kiểm tra được sử dụng cho câu trả lời của Gregory:

ffmpeg -i "signed16bitPCM.wav" -c pcm_s16le -af "pan=stereo|FL < 1.0*FL + 0.707*FC + 0.707*BL|FR < 1.0*FR + 0.707*FC + 0.707*BR" "Audio 2 (ATSC Algorithm Downmix).wav"

Lệnh kiểm tra được sử dụng cho câu trả lời của Dave_750:

ffmpeg -i "signed16bitPCM.wav" -c pcm_s16le -vol 425 -af "pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE" "Audio 4 (Dave750 Downmix).wav"

Lệnh kiểm tra được sử dụng cho câu trả lời của Shane Harrelson:

ffmpeg -i "signed16bitPCM.wav" -c pcm_s16le -af "pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR" "Audio 3 (Nightmode Dialogue Downmix).wav"

1
Cái nhìn sâu sắc ấn tượng! Cảm ơn đã dành thời gian để chia sẻ điều này. Lạ sau đó, điều đó -ac 2đã cho tôi một kết quả kém hơn để bắt đầu, điều đó đã thúc đẩy bài đăng ban đầu. Tôi sẽ thử lại lần nữa và nếu có thể, hãy chia sẻ đoạn trích 5.1 không mang lại kết quả khả quan với hỗn hợp xuống tích hợp. Cũng rất tốt để biết bạn có thể trộn xuống mà không cần chuyển mã!
ngày

@forthrin Hãy nhớ rằng mã hóa và chuyển mã là hai thứ khác nhau. Chuyển mã chuyển đổi từ một codec / phần mở rộng sang phần khác và mã hóa chuyển đổi sang cùng một phần mềm / phần mở rộng. Bạn có thể downmix và áp dụng các hiệu ứng FFmpeg khác cho một luồng mà không cần chuyển mã, nhưng không phải không có mã hóa. Các ac -2tùy chọn cho tôi thua kém kết quả hầu hết tất cả các công thức downmix quá, tôi nghĩ rằng đây chỉ là một thất bại của công thức tiêu chuẩn ATSC của.
Hashim

Tôi đã thử điều này bây giờ. Có vẻ như nó ffmpeg -i 5.1.mp4 -ac 2 2.mp4hoạt động, nhưng ffplay -i 5.1.mp4 -ac 2không.
forthrin

9

Hãy thử downmix này:

-ac 2 -af "pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR" 

theo đề xuất của Robert Collier trong diễn đàn Doom9.


2
Tất cả những lựa chọn đó có ý nghĩa gì? Nếu bạn giải thích chúng, mọi người sẽ có thể sử dụng câu trả lời của bạn để giải quyết các vấn đề khác nhau thay vì chỉ dán sao chép.
David Richerby

2
@DavidR Richby -ac = Kênh âm thanh (2 cho âm thanh nổi), -af = Bộ lọc âm thanh
Cestarian

3
Đã thử điều này cho một bộ phim 5.1 và ít nhất là âm thanh nổi đầu ra có vẻ hoàn toàn tốt với tôi. Đối thoại rõ ràng và dường như không có gì khác bị thiếu. Sẽ thật tuyệt nếu ai đó có kiến ​​thức về VLC có thể chia sẻ chính xác những gì được thực hiện trong downmix 5.1 đến 2.0 mặc định ở đó.
forthrin

2
@DavidR Richby: Các tùy chọn bên trong bộ lọc âm thanh (-af) là: FL = Front-left; BL = Lùi trái; FC = Trung tâm phía trước; FR = Phía trước bên phải; BR = Quay lại phải. Phao là các yếu tố tuyến tính để giảm (<1) hoặc tăng (> 1) âm lượng của kênh nhân. FL = FC + 0,30 * FL + 0,30 * BL đang đặt kênh Front-left thành kênh Front-Center cộng với 30% kênh Front-left và 30% các kênh Back-left.
kronenpj

1
FWIW: Tôi thấy bản phối này làm cho các đoạn hội thoại trở nên quá to so với âm nhạc và âm thanh xung quanh. Sự pha trộn chính xác hơn về mặt kỹ thuật được đưa ra trong câu trả lời của Tarc làm tôi hài lòng hơn nhiều. Vì vậy, tôi đoán bạn có thể phải thử những gì tốt nhất cho bạn, nó phụ thuộc vào tình huống.
jlh

3

Vì vậy, bằng cách kết hợp câu trả lời của @Shane Harrelson với câu trả lời của @Jordan Harris cho một câu hỏi khác - với chế độ lười biếng được bật - đây là những gì cần thiết để chuyển đổi input_51.mkv(5.1) thành output_stereo.mkv(âm thanh nổi):

ffmpeg -i input_51.mkv -c:v copy \
    -ac 2 -af "pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR" \
    output_stereo.mkv

Phần này -c:v copycó nghĩa là luồng video không bị chạm (Tôi đoán rằng cài đặt v ideo c odec đang được cop ied). Không có nó, nó sẽ mất nhiều thời gian hơn. Chỉ cần lặp lại từ câu trả lời ở trên cho đầy đủ, -ac 2có nghĩa là hai kênh âm thanh và -afchỉ định bộ lọc âm thanh.

Sau khi xem xét lệnh một chút, tôi nhận ra rằng nó thiết lập cách hai kênh âm thanh nổi được tạo ra; các FL(kênh phía trước bên trái) được lấy từ bản gốc FC(trung tâm phía trước) cộng 0.30*FL(30% so với trái phía trước) cộng 0.30*BL(30% so với mặt sau bên trái) và vân vân.


Điều này sẽ giữ cho kênh trung tâm nhất quán và âm thanh?
Freedo

2

Bây giờ đây là một câu hỏi cũ, nhưng đã chỉ cho tôi đi đúng hướng và muốn chia sẻ kết quả của mình:

-af "pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE"

Đặt một nửa số FC và LFE vào bên trái và bên phải sẽ có tổng số 1 cho âm lượng hiệu quả của chúng từ cả hai loa. Sử dụng .707 * Mặt trước / Mặt sau Trái / Phải đưa các kênh đó xuống mức tốt để chúng không áp đảo trung tâm.


1

Nếu tùy chọn -ac 2 cung cấp cho bạn một âm lượng cân bằng trong đó âm nhạc và lời nói không quá nhiều so với các thành phần khác, bạn chỉ cần tăng âm lượng bằng

-vol 512

Tôi đã sử dụng 512 trong ví dụ, làm tăng âm thanh làm cho âm thanh to hơn gấp hai lần. Quy tắc là 256 tương đương với 100%

Đừng quá cao với giá trị, và hãy chắc chắn kiểm tra kết quả trong những phần đó của phim bằng tiếng nổ hoặc tiếng ồn lớn. Rất dễ dàng để giới thiệu sự phân tâm bằng cách sử dụng một giá trị quá cao.


1

-ac 2

Âm lượng của các kênh trong downmix không thay đổi với codec dấu phẩy động -> pcm_f32le, aac

Âm lượng trong downmix (5.1 xuống 2.0 không có LFE) đã giảm 1 / 2.5 = -7,96 dB với codec số nguyên -> pcm_s16le, libfdk_aac

Phim có âm thanh chỉ theo một hướng và không có áp suất âm tối đa ở tất cả các kênh. Vì vậy, giảm âm lượng downmix là sai, nén mức độ nhỏ là đúng cách. Đó là những gì Dolby làm.


0

Sau khi đọc toàn bộ trang này và một số thử nghiệm, tôi đã nghĩ ra tập lệnh này có tên là "down_mix":

#!/bin/bash -x

FL="0.5*FC + 0.707*FL + 0.707*BL + 0.5*LFE"
FR="0.5*FC + 0.707*FR + 0.707*BR + 0.5*LFE"
AUDIO_FMT="libopus"
CONTAINER="mkv"

ffmpeg -i "$1" -c:v copy -c:s copy \
    -c:a $AUDIO_FMT \
    -af "pan=stereo|FL=$FL|FR=$FR" \
    "${1%.*}"_dm.$CONTAINER

    # how to test a snippet of movie
    # -ss 41:07.0 -t 4 \

Tinh chỉnh các biến ở trên theo ý thích của bạn. Tôi không gặp vấn đề với âm lượng thấp nên bỏ nó ra, nhưng dễ dàng thêm vào.


0

Bộ lọc ffmpeg "-ac 2" hoạt động tốt miễn là mục tiêu của bạn được mã hóa pcm_s16le. Khi mã hóa thành pcm_f32le ở định dạng wav, âm lượng được tăng thêm 9dB trở lên. Do đó: Không sử dụng bộ lọc "-ac 2" trong những trường hợp như vậy.


Tại sao âm lượng tăng? Bạn đã học về điều này ở đâu?
forthrin

Không biết tại sao. Nhưng tôi là một người dùng ffmpeg rất thường xuyên (tự biên dịch nó). Chỉ cần lấy bất kỳ nguồn 5.1 (bên) nào và chuyển đổi nó thành pcm_s16le und cũng thành tệp wav pcm_f32le bằng cách sử dụng "-ac 2" cả hai lần. So sánh âm lượng tối đa của hai tệp wav và bạn sẽ thấy (và nghe):
Frank-Michael Fischer

điều này xảy ra bằng cách sử dụng ví dụ phiên bản ffmpeg N-93636-g6829c3c
Frank-Michael Fischer
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.