Hợp nhất hai kênh âm thanh (âm thanh nổi) thành một (đơn âm) trên GSM6.10 bằng FFMPEG


27

Tôi muốn biết liệu có thể hợp nhất âm thanh stereo thành đơn âm trên tệp âm thanh GSM6.10 bằng FFMPEG hay không. Nếu có, vui lòng cung cấp lệnh để đạt được điều này.
Mặt khác, có thể chuyển đổi GSM6.10 sang WAV PCM với FFMPEG không? Sau đó tôi có thể hợp nhất các kênh trên WAV PCM.

Nếu có một công cụ miễn phí khác có thể làm điều này, tôi cũng có thể thử nó.

Câu trả lời:


42

Cách "trộn lẫn" từ âm thanh nổi sang đơn âm trong bất kỳ tệp được hỗ trợ nào trong ffmpeg là như vậy:

ffmpeg -i file.ext -ac 1 file_mono.ext

Bit "-ac 1" hướng dẫn ffmpeg chỉ xuất 1 kênh âm thanh, tức là đơn âm. Theo mặc định, thao tác này sẽ duy trì định dạng tệp của bạn nhưng sẽ hoàn nguyên bitrate của bạn về mặc định ffmpeg là 64kbs. Nếu bạn muốn tốc độ bit cao hơn, bạn có thể làm:

ffmpeg -i file.ext -ac 1 -ab 192k file_mono.ext

... thay thế 192k bằng bitrate ưa thích của bạn.

Lưu ý rằng cài đặt ffmpeg của bạn phải hỗ trợ codec GSM cụ thể của bạn để điều này hoạt động chính xác. Tôi biết một số âm thanh được mã hóa GSM được hỗ trợ trong ffmpeg thông qua libgsm nhưng tôi chưa bao giờ tự xử lý các tệp GSM. Tuy nhiên, tôi đã chuyển đổi thành công các loại tệp khác (MP3) thành đơn âm mà không gặp trở ngại nào.


3
Đây thực sự là pha trộn, hoặc chỉ giảm các kênh?
Jonny

Từ tài liệu bộ lọc 'pan': "Lưu ý rằng 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 (xem tùy chọn" -ac ") trừ khi bạn có nhu cầu rất cụ thể."
Ngừng làm hại Monica

Cả hai tập tin đầu vào và đầu ra phải chỉ là tập tin âm thanh. Đầu vào không thể là video.
Kevin

1
Thao tác với Kênh âm thanh "Trộn một luồng âm thanh nổi duy nhất xuống một luồng đơn âm. Cả hai kênh của luồng âm thanh nổi sẽ được trộn vào luồng:"ffmpeg -i stereo.flac -ac 1 mono.flac
Joel Purra

@Kevin - đầu vào có thể là một tệp video, tôi vừa xác minh, (có hoặc không có -vn)
Berry Tsakala

7

Câu trả lời trên hoạt động trong trường hợp bạn vẫn muốn chuyển đổi giữa các định dạng, nhưng đối với các tệp dài có thể mất nhiều thời gian. Hoặc có thể bạn không muốn chuyển đổi một lần nữa, làm giảm chất lượng và vì vậy bạn có thể chỉ muốn truyền phát bản sao. Sử dụng -codec: a và -ac 1 cùng một lúc không hoạt động, nhưng theo tài liệu bộ lọc pan ffmpeg, nếu điều kiện nhất định được đáp ứng (như bạn không điều chỉnh mức độ kênh hoặc trộn hai kênh thành một) , nó sẽ nhận ra trường hợp này và báo cáo: "Đã phát hiện ánh xạ kênh thuần túy" và thực hiện sao chép luồng, nhanh hơn nhiều.

Ví dụ: Để tạo một tập tin âm thanh nổi đơn âm bằng cách chỉ sử dụng kênh bên trái và chỉ cần sao chép luồng video, hãy làm điều này:

ffmpeg -i infile.ext -codec:v copy -af pan="mono: c0=FL" outfile.ext

0

Tôi biết điều đó là có thể với sox .... tôi sử dụng sox để thao tác kênh, kdenlive và audacity để chỉnh sửa nhẹ và ffmpeg để làm lại. chỉ cho bạn biết những gì đã làm việc tốt cho tôi trong quá khứ.


0

Để giữ video, tôi đã sử dụng kết hợp hai câu trả lời ở trên:

ffmpeg -i infile -codec:v copy -ac 1 -ab 192k outfile

Điều đó tạo ra một giải pháp đủ cho tôi.

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.