MediaGoblin: một nền tảng phi tập trung để chia sẻ các tệp đa phương tiện

Sau gần 4 năm kể từ lần phát hành cuối cùng, việc phát hành phiên bản mới của nền tảng phi tập trung để chia sẻ các tệp đa phương tiện MediaGoblin 0.10 trong đó quá trình chuyển đổi mặc định được thực hiện để sử dụng Python 3 và hỗ trợ để bắt đầu sử dụng FastCGI bị ngừng.

bên cạnh đó hỗ trợ thêm cho chuyển mã video tự động đến các tùy chọn có độ phân giải khác và xem video với các mức chất lượng khác nhau (360p, 480p, 720p) và trong phiên bản mới này se đã bật lại plugin phụ đề mới mà bạn có thể tải lên và chỉnh sửa phụ đề cho video.

Nhiều phụ đề được hỗ trợ, chẳng hạn như cho các ngôn ngữ khác nhau. Tính năng này đã được Saksham Agrawal thêm vào trong Google Summer of Code 2016 và do Boris Bobrov chỉ đạo. Chức năng đã có sẵn một thời gian trên nhánh chính, nhưng nó chắc chắn xứng đáng được đề cập cho phiên bản này (công nghệ AJAX được sử dụng để thêm nhận xét một cách tương tác).

Giới thiệu về MediaGoblin

Đối với những người không quen thuộc với MediaGoblin (còn được gọi là GNU MediaGoblin), bạn nên biết rằng đây là một nền tảng được thiết kế để tổ chức việc lưu trữ và chia sẻ nội dung đa phương tiện, bao gồm ảnh, video, tệp âm thanh, video, mô hình XNUMXD và tài liệu PDF.

Nền tảng có khả năng hỗ trợ nhiều loại nội dung, hỗ trợ cho văn bản thuần túy, hình ảnh (PNG và JPEG) được bao gồm. HTML5 được sử dụng chuyên sâu để tái tạo nội dung video và âm thanh ở định dạng WebM; trong khi các định dạng âm thanh FLAC, WAV và MP3 được tự động chuyển mã sang Vorbis và sau đó được đóng gói trong các tệp WebM.

Không giống như các dịch vụ tập trung như Fliсkr và Picasa, nền tảng MediaGoblin nhằm mục đích tổ chức chia sẻ nội dung mà không cần tham chiếu đến một dịch vụ cụ thể, sử dụng mô hình tương tự như StatusNet và pump.io, đồng thời mang đến cơ hội phát triển máy chủ tại cơ sở của riêng bạn.

MediaGoblin là một phần của GNU và mã của nó được phát hành theo các điều khoản của GNU Affero General Public License; có nghĩa là nó tuân thủ các nguyên tắc của phần mềm mã nguồn mở và miễn phí.

Phần còn lại của các quyền đối với những gì không thể được coi là phần mềm (ví dụ như thiết kế, biểu tượng) được phát hành vào phạm vi công cộng.

Làm thế nào để cài đặt MediaGoblin và các dẫn xuất trên Ubuntu?

Đối với những người quan tâm đến việc có thể cài đặt nền tảng này trên hệ thống của mình, họ có thể thực hiện bằng cách làm theo hướng dẫn mà chúng tôi chia sẻ dưới đây.

Trước khi tiến hành cài đặt vàĐiều quan trọng cần đề cập là nền tảng này được xây dựng để hoạt động với một máy chủ, nhưng nó có thể được sử dụng trong một hệ thống máy tính để bàn một cách hoàn hảo. Điều duy nhất cần phải lưu ý là các ứng dụng cần thiết phải được cài đặt để chạy các dịch vụ web trên máy tính của bạn, trong khi đối với những người dùng phiên bản máy chủ, có thể bỏ qua một số bước.

Điều đầu tiên chúng ta phải làm là cài đặt các dịch vụ cần thiết, trong trường hợp này chúng ta có thể dựa vào Lampp (bạn có thể kiểm tra bài viết sau nơi chúng tôi giải thích cách thực hiện).

về cài đặt LAMP trên Ubuntu 20.04
Bài viết liên quan:
LAMP, cài đặt Apache, MariaDB và PHP trên Ubuntu 20.04

Xong việc này ngay bây giờ chúng ta phải cài đặt Ngix (vì MediGoblin yêu cầu nó) và các phụ thuộc khác nhau:

sudo apt install nginx-light rabbitmq-server

sudo apt update

sudo apt install automake git nodejs npm python3-dev python3-gi \

python3-gst-1.0 python3-lxml python3-pil virtualenv python3-psycopg2

Bây giờ chúng ta sẽ định cấu hình cơ sở dữ liệu trong PostgreSQL, nơi cơ sở dữ liệu và người dùng là mediagoblin:

sudo --login --user=postgres createuser --no-createdb mediagoblin

sudo --login --user=postgres createdb --encoding=UTF8 --owner=mediagoblin mediagoblin

Chúng tôi tạo một người dùng và cấp cho người dùng đó các đặc quyền về các tệp đa phương tiện:

sudo useradd --system --create-home --home-dir /var/lib/qmediagoblin \
--group www-data --comment 'GNU MediaGoblin system account' mediagoblin
sudo groupadd --force mediagoblin
sudo usermod --append --groups mediagoblin mediagoblin
sudo su mediagoblin –shell=/bin/bash

Chúng tôi tạo các thư mục sẽ chứa các tệp đa phương tiện:

sudo mkdir --parents /srv/mediagoblin.example.org
sudo chown --no-dereference --recursive mediagoblin:www-data /srv/mediagoblin.example.org

Chúng tôi cài đặt nền tảng:

sudo su mediagoblin --shell=/bin/bash
cd /srv/mediagoblin.example.org
git clone --depth=1 https://git.savannah.gnu.org/git/mediagoblin.git \
--branch stable --recursive
cd mediagoblin
./bootstrap.sh
VIRTUALENV_FLAGS='--system-site-packages' ./configure
make
mkdir --mode=2750 user_dev
sudo su mediagoblin --shell=/bin/bash
cd /srv/mediagoblin.example.org
git submodule update && ./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate

Xong việc này giờ chỉ tChúng tôi sẽ phải chỉnh sửa tệp mediagoblin.ini trong đó chúng tôi sẽ đặt những điều sau:

  • email_sender_address: một email sẽ được sử dụng làm người gửi cho hệ thống
  • Trong direct_remote_path, base_d và base_url, chúng có thể được chỉnh sửa để thay đổi tiền tố URL.
  • [mediagoblin]: ở đây chúng tôi sẽ thêm kết nối vào cơ sở dữ liệu (nó như sau nếu tên của cơ sở dữ liệu mà chúng tôi đã tạo bằng các lệnh trước đó “sql_engine = postgresql: /// mediagoblin” được tôn trọng)

Sau khi chỉnh sửa và lưu các thay đổi, chúng tôi sẽ cập nhật các thay đổi với:

./bin/gmg dbupdate

Cuối cùng hãy tạo tài khoản quản trị viên trong đó chúng tôi thay thế tên người dùng bằng tên người dùng tùy chọn của chúng tôi và you@example.com bằng email mà tài khoản sẽ được liên kết:

./bin/gmg adduser --username you --email you@example.com

./bin/gmg makeadmin you

Để khởi chạy dịch vụ, chỉ cần chạy:

./lazyserver.sh –server-name=broadcast

Và chúng tôi kết nối từ trình duyệt web với url localhost: 6543 hoặc sử dụng địa chỉ IP nội bộ hoặc máy chủ hoặc tên miền của bạn tới cổng "6543".

Nếu bạn muốn biết thêm về nó, bạn có thể kiểm tra chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.