2011-11-14 67 views
6

Có thư viện hoặc tệp C hoặc C++ đơn giản để giải mã MP3 thành các mẫu không?Nguồn mở hoặc miền công khai Bộ giải mã mp3?

Giấy phép phải là Miền công cộng hoặc một trong các giấy phép dễ dãi hơn. MIT, X11, v.v.

Không phải GPL hoặc LGPL. LGPL rất hay, nhưng trong một số trường hợp (trên iOS) nó là in practice useless . Ngay cả trên nền tảng cởi mở hơn như Win32, Linux và OSX, bạn phải cung cấp tín dụng trong tài liệu và vân vân, mang lại bản sao của LGPL GPL bên trong ứng dụng của bạn, vv


Vâng, Tôi biết rằng định dạng mp3 được cấp bằng sáng chế. Bằng sáng chế cuối cùng sẽ hết hạn vào ngày 30 tháng 12 năm 2017. 13 patents expired, 7 to go.

Hoặc working as intended. Đó là tất cả về quan điểm.

+0

Bạn có thể giải thích tại sao LGPL không đủ cho phép không? Điều đó sẽ ảnh hưởng đến những dự án chúng tôi có thể đề xuất. –

+0

Tương tự như: http://stackoverflow.com/questions/3963742/good-mp3-or-ogg-decoder-written-in-c – kbyrd

+0

Tôi muốn nhúng mã bên trong ứng dụng, điều này có thể liên quan đến việc thay đổi Bản thân mã của LGPL, và sau đó tôi sẽ phân phối một bản vá cho nó, cái mà tôi không muốn. Nhưng có, LGPL có thể hữu ích. LAME và tôi nghĩ rằng một loạt những người khác là LGPL. libmad là tuyệt vời nhưng thậm chí là GPL. –

Trả lời

3

Hãy thử minimp3 libray là LGPL. Rất nhỏ, di động và dễ sử dụng. http://keyj.emphy.de/minimp3/

+0

Tôi nhận được cảnh báo vi rút từ chrome khi tôi tải xuống tệp lưu trữ – Erro

1

Nếu bạn không tự chỉnh sửa thư viện (tôi biết bạn đã nói rằng bạn muốn chỉnh sửa mã nhưng xem bạn có thể thực hiện chỉnh sửa bên ngoài các cuộc gọi hàm thay vì bên trong các cuộc gọi cho thư viện) và chỉ sử dụng trực tiếp biên dịch của dll bạn sẽ không cần phải phân phối mã tự của bạn, bạn chỉ có thể trỏ mọi người đến dự án ban đầu.

Làm cách nào đó, như bạn đã nói trong một bình luận về OP của bạn LAME library hoạt động khá tốt, chỉ cần chống lại sự cám dỗ để chỉnh sửa dll và chỉ chỉnh sửa mã của bạn gọi dll và bạn sẽ có thể sử dụng nó chính xác như bạn muốn.


UPDATE:

Như đã chỉ ra bởi Hasturkun LAME is LGPL for encoding, but is GPL for decoding. Vì vậy, LAME không phải là một công cụ tốt để sử dụng cho trường hợp của bạn nhưng các báo cáo ban đầu về việc đưa các sửa đổi của bạn vào mã của bạn thay vì thư viện LGPL vẫn là một công cụ tốt.

+0

Tôi biết, +1 cho nỗ lực, nhưng không phải những gì tôi sau. Tôi sẽ xem xét nó mặc dù. –

+0

Bạn có nói rằng bạn không muốn chương trình của bạn có exe và dll riêng biệt? Người dùng không cần phải làm gì nếu bạn sử dụng trình cài đặt, nó sẽ trích xuất exe chính của bạn và bộ mã hóa LAME thành đường dẫn cài đặt. Để tuân thủ LGPL, bạn chỉ cần một thông báo bản quyền ở đâu đó trong chương trình của bạn. –

+1

Tôi không muốn trình cài đặt có. :-) Nhưng chúng ta sẽ thấy, thực tế có thể can thiệp vào kế hoạch. :-) –

3

Bạn sẽ có thể sử dụng libmpg123, mà được phát hành theo LGPL 2.1. Bạn nên sử dụng giấy phép khôn ngoan miễn là bạn sử dụng nó như một thư viện bên ngoài.

Một đoạn trích từ LGPL 2.1:

"5. Một chương trình mà không chứa dẫn xuất của bất cứ phần nào của Thư viện, nhưng được thiết kế để làm việc với Thư viện bằng cách biên soạn hoặc liên kết với nó, được gọi là "công việc sử dụng Thư viện". Công việc như vậy là , không phải là một tác phẩm phái sinh của Thư viện và do đó, nằm ngoài phạm vi của Giấy phép này ".

+0

Phiên bản mới nhất của LGPL, * 3.0 *, dường như yêu cầu tín dụng đó luôn được hiển thị, nếu tôi đọc chính xác. Nhưng libmpg123 được cấp phép theo 2.1 –

+1

trước đó Ngoài ra, như tôi hiểu nó, nếu tôi * bao gồm * DLL với chương trình của tôi, thì chương trình của tôi là một tác phẩm phái sinh. Vì vậy, DLL phải tồn tại trên máy. –

+0

Hầu như tất cả các giấy phép được đề cập ở trên đều yêu cầu lưu giữ các thông báo bản quyền, điều này có nghĩa là "phải đặt một thứ gì đó trong sách hướng dẫn" bất kể là gì. Ngoài ra, một số người cho rằng, bởi vì các ứng dụng iOS không cho phép người dùng thay thế việc triển khai của chính họ, bạn không thể tuân thủ LGPL trên iOS. –

1

Fluendo MP3 decoder là MIT được cấp phép. (Là một dịch vụ cho người dùng, họ cũng đã trả phí tống tiền bằng sáng chế cho Fraunhofer và Thomson, vì vậy bạn có thể nhận được một bộ giải mã nhị phân MP3 Fluendo từ trang web của Fluendo.)

+0

Tống tiền thế nào? Họ không có quyền kiếm lợi từ bằng sáng chế của họ sao? – g33kz0r

+11

@ g33kz0r, bên cạnh toàn bộ cuộc tranh luận về tính hợp lệ của bằng sáng chế phần mềm nói chung, Fraunhofer chơi trò chơi mồi và chuyển nơi họ chờ cho đến khi mp3 có lực kéo, và chỉ bắt đầu yêu cầu phí của họ từ mọi người và chó của họ. Tôi coi thường họ. Điều tốt là bằng sáng chế đã hết hạn ở hầu hết các quốc gia kể từ tháng 12 năm 2012 và sẽ ở Mỹ vào năm 2017. Tóm lại, họ có quyền hợp pháp, nhưng quyền đạo đức của họ bị nhiễm độc tốt nhất. Điều này có nghĩa là tôi tôn trọng quyền của họ và không vi phạm điều đó, không có nghĩa là tôi phải thích họ vì điều đó. –

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