2010-03-03 42 views
5

nào audio codec Tôi nên chọn cho phát triển phần mềm dự án C# của tôi nơi âm thanh thô được chuyển mã/vận chuyển/sử dụng được dựa trên những điều sau đây:Tôi nên sử dụng Codec Âm thanh nào?

  1. Đối với mã hóa Speech chỉ
  2. Âm thanh có thể được âm thanh stereo hoặc mono
  3. có khả năng hỗ trợ streaming sống
  4. Tốt cân bằng giữa kích thước file và chất lượng
  5. để được vận chuyển qua giao thức TCP/IP ở dạng mã hóa của nó
  6. có thể p được quay trở lại bởi một người chơi miễn phí có sẵn mà không cần xử lý thêm

Lưu ý rằng có sẵn một thư viện codec miễn phí để thực hiện chuyển mã không cần xem xét.

Trả lời

5

Speex là codec mã nguồn mở miễn phí, được thiết kế để mã hóa lời nói trong các giải pháp thời gian thực cần độ trễ thấp. Các chương trình nén mục đích chung như WMA hoặc MP3 có khả năng gây chậm trễ hơn và chúng cũng có thể không hoạt động tốt ở tốc độ bit rất thấp. http://www.speex.org/

0

Bạn có thể sử dụng LAME để mã hóa MP3 với cài đặt trước 'giọng nói'. Tôi sẽ khuyên bạn nên thử nghiệm những cái khác nhau mặc dù, because of issues like this.

MP3 là những gì KPFA.org (và bây giờ KQED, tôi nghĩ) đều sử dụng để phát trực tuyến. Hoạt động tuyệt vời. Không biết máy chủ sw được sử dụng mặc dù.

0

Với lựa chọn Ngôn ngữ của bạn, nếu có thể giả định rằng bạn đang sử dụng Windows, tôi thực sự khuyên bạn nên sử dụng WMA, Định dạng Windows. Tất cả các thư viện đều được xây dựng và tất cả mọi thứ được coi là một codec rất chắc chắn. Hỗ trợ tất cả các yêu cầu của bạn và hơn thế nữa.

Tuy nhiên, nếu bạn sắp chuyển sang điểm cuối flash, hãy sử dụng .fla, Flash Audio. Flash chắc chắn tối ưu hóa để tiêu thụ điều này và, trong khi nó không phải là khá dễ sử dụng với C#, bạn chắc chắn sẽ đánh giá cao sự dễ dàng tiêu thụ ở đầu bên kia.

0

Nếu bạn chỉ nhắm mục tiêu Windows, codec GSM có thể là lựa chọn tốt cho các ứng dụng băng thông thấp. Nó thường được coi là chất lượng thấp hơn Speex nhưng sử dụng một số tiền công bằng ít băng thông.

Windows Media Player có thể phát lại GSM và bộ mã hóa là một phần của Media Foundation trong Vista trở lên (và có lẽ một số API Win32 trong XP và dưới đây?)

2

Như bạn nói C# cho nền tảng mục tiêu tôi có thêm một cái gì đó đến accepted answer. Có một cổng của bộ giải mã Speex tới nền tảng .Net trong C# tinh khiết gọi là NSpeex.

7

Một giải pháp thay thế gần đây và tốt hơn sẽ là Opus Codec.

Khám phá comparison với các codec khác để xem hiệu suất hoạt động tốt như thế nào.

+0

Có, Speex hiện đã lỗi thời với sự xuất hiện của Opus! –

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