OpenELEC là một bản phân phối Linux chuyên dụng, tập trung vào việc phát lại nội dung đa phương tiện, biến nó thành “bộ não” của một trình phát đa phương tiện (media center). Đây là một hệ thống chuyên biệt cho phép phát video từ nhiều nguồn khác nhau: trực tiếp từ hệ thống, từ các thiết bị lưu trữ USB bên ngoài (ổ cứng, USB), hoặc từ các máy chủ trực tuyến trên Internet. Điều này có nghĩa là bạn có thể xem video trực tuyến (streaming), bao gồm các kênh TV trực tiếp, phim bộ, phim điện ảnh, tài liệu, v.v…
Mặc dù chức năng chính và được sử dụng nhiều nhất là phát video, OpenELEC cũng hỗ trợ phát nhạc và hiển thị hình ảnh (ví dụ: ảnh). Nó tạo thành một trung tâm đa phương tiện hoàn chỉnh, phù hợp để kết nối với TV và biến TV thường thành Smart TV.
Đặc điểm và hạn chế của OpenELEC
Như đã đề cập, OpenELEC là một bản phân phối chuyên biệt, được phát triển để đáp ứng duy nhất nhu cầu phát lại đa phương tiện. Nó hoạt động như một “hệ thống đóng”, một nền tảng Linux rất hạn chế và không thể sửa đổi, chỉ chạy một phần mềm (ứng dụng) cụ thể để phát đa phương tiện. Hệ thống chỉ bao gồm những thành phần cần thiết để chạy phần mềm phát lại nội dung đa phương tiện và không thể cài đặt thêm bất kỳ phần mềm nào khác.
Điều quan trọng cần lưu ý là đây không phải là một hạn chế bất ngờ, mà là bản chất của OpenELEC. Nó được giới hạn một cách có chủ ý để người dùng ít kinh nghiệm không vô tình làm hỏng chức năng của nó (mặc dù điều này có thể gây khó chịu cho người dùng nâng cao muốn tận dụng phần cứng cho các chức năng khác).
Kodi: Trái tim của OpenELEC
Phần mềm chuyên dụng mà OpenELEC sử dụng là Kodi, dựa trên trình phát đa phương tiện có trong thế hệ Xbox đầu tiên, XBMC (Xbox Media Center), với giấy phép công khai GNU/GPL.
Kodi cung cấp một giao diện đồ họa đơn giản và trực quan để truy cập các nội dung khác nhau. Về cơ bản, Kodi sử dụng các Addons, các “plugin” bổ sung các tính năng hoặc khả năng mới cho hệ thống. Kodi chỉ cung cấp môi trường hoặc menu điều hướng giữa các nội dung và phát lại chúng cục bộ. Để truy cập các tính năng mới, chẳng hạn như xem video trực tuyến, cần có các Addons cụ thể. Tất cả các Addons này, được phát triển bằng Python, cho phép truy cập và/hoặc sửa đổi một số khía cạnh của OpenELEC, mà nếu không thì không thể thay đổi được do tính chất hạn chế và không thể sửa đổi của bản phân phối. Do đó, Addons cho phép chạy các script từ Kodi mà bình thường không thể thực thi được, như thể chúng được “ký” và “chính thức” cho hệ thống.
Addons và Dịch vụ trong Kodi
Trong số các tính năng và khả năng mới có thể được “cài đặt” vào Kodi thông qua vô số Addons, có các Addons video để truy cập các kho lưu trữ từ xa (trên Internet) và phát lại nội dung trực tuyến, các Addons video cụ thể để sử dụng các nền tảng nội dung đa phương tiện nổi tiếng như YouTube, và các Addons cho phép tải xuống và/hoặc xem video và tệp từ xa, chẳng hạn như Torrents.
Về cơ bản, Addons bao gồm một tệp Python chứa logic (chương trình), một tệp mô hình XML thiết lập tên, mô tả, phiên bản và các đặc điểm thông tin khác về Addon, và một hình ảnh tương ứng với biểu tượng của Addon (mặc dù tùy thuộc vào Addon, có thể có nhiều yếu tố và tệp hơn, chẳng hạn như các script thuộc mọi loại). Các tệp này được đóng gói và nén trong một tệp ZIP, tạo thành Addon. Tệp ZIP của Addon được Kodi sử dụng để cài đặt nó và sau khi cài đặt, nội dung của Addon nằm trong thư mục “storage/.kodi/addons”.
Ngoài Addons, Kodi còn sử dụng các “chương trình” khác gọi là Dịch vụ, khác với Addons ở chỗ chúng chạy ngầm, cung cấp các tính năng như nhận dạng video mà chúng ta muốn xem và tìm, tải xuống và triển khai phụ đề thích hợp cho video đó. Lưu ý quan trọng: Cần đảm bảo các addon và dịch vụ được cài đặt là từ các nguồn đáng tin cậy để tránh rủi ro về bảo mật và quyền riêng tư.
Giao diện và Skin của Kodi
Giao diện đồ họa của Kodi, menu điều hướng giữa các nội dung, sử dụng cái gọi là Skin, xác định giao diện của toàn bộ môi trường. Skin mặc định trong Kodi của OpenELEC được gọi là “Confluence”, nhưng nó có thể được sửa đổi hoặc thay đổi bằng các Skin khác, với giao diện và menu điều hướng phù hợp nhất với người dùng (ví dụ: Skin Next Gen).
Kodi không chỉ được phát triển cho OpenELEC hoặc các hệ thống Linux, mà còn có sẵn cho các loại hệ thống và thiết bị khác, cho dù là Linux, Windows hay thậm chí Android; có thể được cài đặt trên PC, Máy tính bảng, Điện thoại thông minh và SBC (như Raspberry Pi hoặc Orange Pi).
Các bản phân phối tương tự OpenELEC
OpenELEC là một bản phân phối chuyên dụng để phát lại nội dung đa phương tiện thông qua Kodi, nhưng có các bản phân phối khác dành riêng cho mục đích này, trong đó LibreELEC và OSMC nổi bật.
Cần lưu ý rằng hiện tại, đối với Orange Pi, các bản phân phối khác này chưa được điều chỉnh. OpenELEC là bản phân phối chuyên dụng duy nhất đã được “port” sang OPi. Tuy nhiên, điều quan trọng là phải làm rõ những khác biệt giữa chúng.
OpenELEC, LibreELEC và OSMC
OpenELEC đang ở giai đoạn cuối. Hầu hết các thành viên của nhóm phát triển làm việc trên bản phân phối này, bao gồm các cải tiến và phát hành các phiên bản mới, đã quyết định từ bỏ dự án và tiếp tục công việc của họ trong một dự án mới dựa trên OpenELEC, bản phân phối LibreELEC. Do đó, có thể nói rằng LibreELEC là một Fork của OpenELEC và là sự tiếp nối của nó, do đó nó sẽ là hệ thống hiện tại nhất. Với điều đó, cần phải nói rằng, cho đến nay, OpenELEC đã kết thúc việc hỗ trợ Kodi 16 (được gọi là Jarvis), trong khi LibreELEC tiếp tục cập nhật và hỗ trợ các phiên bản mới, chẳng hạn như Kodi 17 (được gọi là Krypton).
Mặt khác, có OSMC, sử dụng Kodi, nhưng không dựa trên OpenELEC, mà là một hệ thống độc lập, một bản phân phối Debian đã cài đặt Kodi để thực hiện vai trò hệ thống đa phương tiện, nhưng không có các hạn chế bảo mật mà OpenELEC hoặc LIibreELEC có. Nói cách khác, trái ngược với hai hệ thống này, OSMC là một “hệ thống mở”, có thể sửa đổi và có thể cài đặt bất kỳ loại phần mềm nào.
OpenELEC trên Raspberry Pi và Orange Pi
OpenELEC được sử dụng rộng rãi trên Raspberry Pi và là bản phân phối nội bộ của nhiều trình phát đa phương tiện thương mại. Chính nhờ điều này mà nó đã có thể được điều chỉnh cho Orange Pi, vì một số thiết bị đa phương tiện thương mại này đã sử dụng SoC của Allwinner (chẳng hạn như Allwinner A10), cho phép xây dựng hình ảnh cho Orange Pi (ban đầu cho SoC H3), sửa đổi một số thành phần của tệp nguồn của bản phân phối.
Sự điều chỉnh này có một “con dao hai lưỡi”: OpenELEC được port sang Orange Pi, nhưng vì bản phân phối không được phát triển từ đầu, một số tính năng của phần cứng không được tối ưu hóa hoàn toàn, như có thể thấy trong nhiệt độ mà SoC đạt được trên một số OPi với bản phân phối này, trong khoảng [70~80]ºC (nếu không sử dụng bất kỳ phương tiện nào để tản nhiệt). Vì lý do đó, nếu bản phân phối OpenELEC được sử dụng trên Orange Pi, nên sử dụng tản nhiệt và quạt.
Mặc dù OpenELEC đã được điều chỉnh, nhưng nó đã hỗ trợ phần lớn các tính năng chính của bản phân phối, đáng chú ý là tăng tốc phần cứng video (cần thiết cho việc phát lại nội dung và tính trôi chảy chung), các dịch vụ điều khiển qua mạng (Airplay-UPNP-DLNA, cho phép điều khiển hệ thống từ các ứng dụng Android, chẳng hạn như Kore hoặc Yatse), điều khiển hồng ngoại (để điều khiển hệ thống bằng điều khiển IR), điều khiển HDMI CEC (cho phép điều khiển hệ thống bằng điều khiển TV, không cần cấu hình, TV phát hiện OPi với OpenELEC, như một thiết bị CEC, và giao tiếp với nó). Khả năng tương thích CEC là một phần, sẽ phụ thuộc vào TV mà nó được kết nối (có thể hoạt động hoặc không)…
Người chịu trách nhiệm chính trong việc điều chỉnh OpenELEC cho Orange Pi là @jernej, một nhà phát triển độc lập thuộc nhóm Linux-Sunxi.
Mặc dù việc mang OpenELEC đến Orange Pi không liên quan đến việc tạo ra bản phân phối cụ thể, mà là một sự điều chỉnh theo các sửa đổi đã được thực hiện trong bản phân phối cho SoC Allwinner A10 của một số trình phát đa phương tiện thương mại, nhưng sự điều chỉnh này cũng đòi hỏi rất nhiều công việc, nỗ lực và cống hiến, thường không được đền đáp và ít hơn nhiều trong loại dự án này, nơi người dùng luôn muốn nhiều hơn nữa, ví dụ: yêu cầu phát triển LibreELEC. Cần lưu ý rằng, nếu không có @jernej, ngày nay chúng ta sẽ không có OpenELEC trên OPi. Cần nhấn mạnh rằng, việc thực hiện một sự điều chỉnh của bản phân phối, làm cho công việc được thực hiện cho bản phân phối này không thể được sử dụng lại hoàn toàn cho việc phát triển các bản phân phối khác như LibreELEC, chỉ một phần và ngoài ra, Kodi 17 (hiện đang sử dụng LibreELEC) nên được điều chỉnh. Do những lý do này, trong tương lai gần, LibreELEC sẽ không xuất hiện cho Orange Pi, ít nhất là không phải từ @jernej, như chính ông đã nhận xét. Hiện tại, ông đang tập trung vào việc hỗ trợ phát triển Kernel.
Như một dữ liệu bổ sung, cần nhấn mạnh rằng ông cũng là một người đóng góp vào sự phát triển của một số yếu tố của Armbian và, vì Retrorangepi chứa OpenELEC, ông cũng đóng một vai trò quan trọng trong việc giúp các nhà phát triển của nó đưa bản phân phối của họ vào Retrorangepi.
Tài nguyên OpenELEC cho Orange Pi
Có bốn trang chính liên quan đến OpenELEC trên Orange Pi: chủ đề chính thức của diễn đàn Orange Pi, nơi OpenELEC được công bố và tất cả các chủ đề liên quan đến bản phân phối được thảo luận; trang Câu hỏi thường gặp (FAQ), cũng nằm trong diễn đàn Orange Pi; trang Github chứa các tệp nguồn để biên dịch và tạo OpenELEC; và kho lưu trữ hình ảnh được biên dịch sẵn, nơi bạn có thể tìm và tải xuống hình ảnh.
Thiết lập ban đầu OpenELEC
Để hiểu rõ hơn về hệ thống, hãy giả sử rằng chúng ta vừa cài đặt hình ảnh tương ứng vào thẻ SD và tiến hành bật OPi. Sau khi khởi động, chúng ta sẽ xem các cài đặt ban đầu có thể thú vị.
Lần khởi động đầu tiên của hệ thống OpeneLEC sẽ mất nhiều thời gian hơn (vài phút) so với các lần khởi động tiếp theo (thường dưới 1 phút, thường là khoảng 30 giây hoặc ít hơn), nhưng không bao giờ được kéo dài hơn 30 phút, trong trường hợp đó phải có một số vấn đề. Lý do cho điều này là, trong lần khởi động đầu tiên, hệ thống chịu trách nhiệm thay đổi kích thước thẻ SD để tận dụng không gian bộ nhớ không được hệ thống sử dụng.
Sau khi quá trình khởi động đầu tiên của hệ thống hoàn tất, Kodi sẽ được khởi động và trong đó, một trình hướng dẫn cấu hình ban đầu của hệ thống sẽ được khởi động, với trình hướng dẫn này, các khía cạnh như tên của máy tính (tên máy chủ, theo mặc định là OpenELEC), kết nối với mạng Wi-Fi và kích hoạt/hủy kích hoạt các dịch vụ truy cập từ xa SSH và SAMBA (theo mặc định OpenELEC đi kèm với SSH bị tắt, vì vậy lần đầu tiên bật hệ thống, bạn phải kết nối với màn hình để có thể kích hoạt dịch vụ).
Sau khi các cấu hình ban đầu này đã được thực hiện, chúng ta sẽ có Kodi sẵn sàng để sử dụng. Các cấu hình chính bổ sung có thể là tắt tin nhắn RSS (bỏ chọn hộp “System/Settings/Appearance/Skin/Show RSS news feeds”), hoàn toàn được khuyến nghị vì nó liên quan trực tiếp đến nhiệt độ mà SoC đạt được, điều này làm giảm nhiệt độ tổng thể từ 5-10ºC; mặt khác, có thể thay đổi ngôn ngữ của hệ thống, khu vực và múi giờ (trong “System/Settings/Appearance/International”) hoặc sửa đổi Skin được sử dụng.
Kodi đi kèm với “sạch”, chỉ mang các Addons cơ bản cho cấu hình, ngôn ngữ hệ thống và phát lại nội dung cục bộ. Sau đó, sẽ tùy thuộc vào người dùng để giới thiệu các tính năng mới cho hệ thống (chẳng hạn như phát lại nội dung phát trực tuyến) và cá nhân hóa hệ thống. Vì cách sử dụng Kodi không liên quan đến Orange Pi, chúng ta sẽ không đi sâu vào nó; trên Internet, bạn có thể tìm thấy một lượng lớn thông tin rõ ràng, ngắn gọn và bằng tiếng Việt về cách thêm các tính năng mới (cài đặt Addons, dịch vụ, v.v.) và cách cá nhân hóa hệ thống.
Vấn đề nhiệt độ và giải pháp
Như đã đề cập, trên một số Orange Pi, chẳng hạn như OPi PC, OpenELEC đạt đến nhiệt độ trong khoảng 70-80ºC và, mặc dù điều này có thể giảm nếu chúng ta tắt nhận tin nhắn RSS, nó sẽ vẫn ở mức 65-75ºC, nằm ngoài phạm vi hoạt động được khuyến nghị của SoC. Nhiệt độ làm việc được khuyến nghị mà SoC của OPi không được vượt quá là khoảng 70ºC, miễn là nó nằm dưới giới hạn này, chúng ta sẽ an toàn. Rõ ràng, vượt quá 70ºC không có nghĩa là hệ thống sẽ chạy chậm hơn hoặc treo (để làm được điều đó, bạn phải vượt quá 90ºC), nhưng nó có nghĩa là về lâu dài nó sẽ ảnh hưởng đến tuổi thọ của OPi (thời gian hoạt động của OPi, nếu bạn làm việc ngoài phạm vi được khuyến nghị, có thể ngừng hoạt động sớm hơn). Do đó, cần phải nhấn mạnh lại rằng nên sử dụng tản nhiệt, và thậm chí cả quạt.
Chế độ ngủ đông thay vì tắt nguồn
Cần lưu ý rằng OpenELEC được cấu hình để không thể tắt nguồn từ Kodi, khi chọn tùy chọn tắt nguồn, nó sẽ thực sự chuyển sang trạng thái ngủ đông hoặc chế độ chờ. Điều này đã được thực hiện một cách có chủ ý, xem xét rằng việc tạm ngừng hoạt động là quá đủ, có tính đến mức tiêu thụ điện năng thấp của trạng thái này và để có thể kích hoạt lại hệ thống một cách nhanh chóng từ nút nguồn của bo mạch Orange Pi hoặc từ điều khiển từ xa hồng ngoại (điều này không thể thực hiện được nếu nó tắt hoàn toàn). Hành vi tạm ngừng hoạt động thay vì tắt nguồn này được triển khai trong quá trình trước khi biên dịch bản phân phối, vì vậy nó không thể sửa đổi trực tiếp từ hệ thống (theo ý kiến của tôi, nó chỉ có thể được thay đổi nếu OpenELEC được biên dịch từ các nguồn được cung cấp trên Github bởi @jernej).
Tóm lại, khi chúng ta tắt hệ thống từ Kodi, hệ thống sẽ chuyển sang trạng thái tạm ngừng hoạt động.