1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/cloudtencent-vod-xiaoshipin-server

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Обзор

Данный проект представляет собой бэкенд-сервис для приложения коротких видео Tencent Cloud. Сервис разработан с использованием Nodejs и MySQL и предоставляет следующие функции:

  1. Выдача подписей.
  2. Управление медиаресурсами.
  3. Проверка контента.

Пользователи могут загрузить исходный код проекта и быстро настроить собственный бэкенд для коротких видео.

Подготовка

Регистрация учётной записи

Зарегистрируйте учётную запись на Tencent Cloud и получите API ключи.

Подготовка среды

Установка Nodejs

Обратите внимание, что требуется версия 8.x или выше.

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

Установка MySQL (mariadb)

sudo apt update
sudo apt install mariadb-server
sudo mysql --version
sudo service mysql start

Инициализация базы данных

  1. Войдите в MySQL с помощью учётной записи root:
sudo mysql -u root -p
  1. Создайте пользователя для базы данных litvideo:
create user 'litvideo'@'localhost' identified by 'litvideo';
  1. Создайте базу данных db_litvideo и предоставьте права пользователю litvideo:
create database db_litvideo default charset utf8 collate utf8_general_ci;
grant all privileges on `db_litvideo`.* to 'litvideo'@'%';
  1. С помощью litvideo создайте необходимые таблицы:
use db_litvideo;
CREATE TABLE IF NOT EXISTS tb_account(
  userid VARCHAR(50) NOT NULL,
  password VARCHAR(255),
  nickname VARCHAR(100),
  sex INT DEFAULT -1,
  avatar VARCHAR(254),
  frontcover varchar(255) DEFAULT NULL,
  create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY(userid)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS tb_ugc (
  userid varchar(50) NOT NULL,
  file_id varchar(150) NOT NULL,
  title varchar(128) DEFAULT NULL,
  status tinyint(4) not NULL DEFAULT 0,
  review_status tinyint(4) not NULL DEFAULT 0,
  frontcover varchar(255) DEFAULT NULL,
  location varchar(128) DEFAULT NULL,
  play_url varchar(255) DEFAULT NULL,
  create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (file_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS tb_token(
  token VARCHAR(32) NOT NULL,
  userid VARCHAR(50) NOT NULL,
  expire_time DATETIME NOT NULL DEFAULT '1970-01-01',
  refresh_token VARCHAR(32) NOT NULL,
  PRIMARY KEY(token),
  KEY(userid),
  KEY(expire_time)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS tb_queue(
  task_id VARCHAR(150) NOT NULL,
  file_id VARCHAR(150) NOT NULL,
  owner   VARCHAR(50),
  create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  mark_time timestamp DEFAULT '1971-01-01 00:00:00',
  review_data longtext,
  PRIMARY KEY(task_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS tb_review_record(
  task_id VARCHAR(150) NOT NULL,
  file_id VARCHAR(150) NOT NULL,
  reviewer_id   VARCHAR(50) NOT NULL,
  review_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  review_status VARCHAR(50) NOT NULL,
  PRIMARY KEY(task_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

# Быстрый старт

## Настройка проекта
Перейдите в рабочую директорию и клонируйте проект:

git clone https://github.com/tencentyun/vod-xiaoshipin-server.git cd vod-xiaoshipin-server

   
В рабочей директории установите зависимости проекта:

npm install

Скопируйте файл config_template.json в папку conf и переименуйте его в localconfig.json. В этом файле настройте параметры Tencent Cloud API, базы данных и COS хранилища. **Конфигурация надёжного обратного вызова**

В консоли Tencent Cloud Video Platform в разделе «Настройки видеопроцессинга» установите режим обратного вызова «Надёжный», а в разделе «Настройка событийного обратного вызова» выберите «Обратный вызов после загрузки». Подробнее см. в документации Tencent Cloud [1].

**Запуск сервиса**

Запустите сервис из корневого каталога проекта:

npm start


После запуска сервиса в другом терминале проверьте работу интерфейса для получения списка пользовательского генерируемого контента (UGC):

curl -l -H "Content-type: application/json" -X POST -d '' http://localhost:8001/get_ugc_list


Если сервис работает нормально, вы должны получить следующий ответ:

{"code":200,"message":"OK","data":{"list":[],"total":0}}


**Создание клиента**

См. документацию [2].

**Опыт использования функционала**

* **Загрузка видео.** После запуска сервиса откройте приложение для создания коротких видео и нажмите кнопку «Добавить» внизу экрана. Вы можете выбрать способ загрузки видео: запись, редактирование видео или редактирование изображения. После успешной загрузки видео появится в списке видеозаписей.

* **Проверка контента.** Tencent Cloud проверяет загруженные видео на соответствие требованиям. Видео, прошедшие проверку, можно сразу воспроизводить в приложении. Если проверка выявила проблемы с контентом, видео отправляется на ручную модерацию. Чтобы протестировать процесс проверки, запустите сервер, затем загрузите тестовое видео из папки source/video.mp4 в приложение и опубликуйте его.

* **Управление медиаконтентом.** После загрузки видео приложение автоматически отправляет запрос на проверку контента. Сервер получает результаты проверки и обновляет информацию о видео в приложении. В списке видео отображаются следующие статусы: «Пройдено» — видео прошло проверку; «Проверить» и «Заблокировать» — требуется ручная проверка.

После ручной модерации сервер получает решение модератора и изменяет статус видео. Статус «Заблокировано» означает, что видео не может быть воспроизведено. Статусы «Пройдено» и «Проверено» позволяют воспроизводить видео.

**Ссылки**

1. Документация Tencent Cloud по настройке надёжного обратного вызова.
2. Документация по созданию клиента.
3. Документация по использованию подписи при загрузке видео на платформу Tencent Cloud.
4. Документация по событийному обратному вызову платформы Tencent Cloud.
5. Документация по управлению медиаконтентом платформы Tencent Cloud.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/cloudtencent-vod-xiaoshipin-server.git
git@api.gitlife.ru:oschina-mirror/cloudtencent-vod-xiaoshipin-server.git
oschina-mirror
cloudtencent-vod-xiaoshipin-server
cloudtencent-vod-xiaoshipin-server
master