定制 michaelbelgium/laravel-youtube-api 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

michaelbelgium/laravel-youtube-api

Composer 安装命令:

composer require michaelbelgium/laravel-youtube-api

包简介

Add a youtube api to your Laravel instance

README 文档

README

Latest Version on Packagist Total Downloads

This package provides a simple youtube api for your Laravel application. It is based on my non-laravel package Youtube API.

Installation

  • Install the package via composer:
composer require michaelbelgium/laravel-youtube-api
  • Optional: publish the config file and edit if u like:
php artisan vendor:publish --tag=youtube-api-config
  • This package uses the public disk of Laravel. Run this command to create a symbolic link to the public folder so that converted Youtube downloads are accessible:
php artisan storage:link
  • Execute package migrations
php artisan migrate

Software

Depending on what driver you use - on the server where your laravel app is located, you'll need to install some packages.

API Usage

This package adds 3 api routes. The route prefix, /ytconverter/ in this case, is configurable.

  • POST|GET /ytconverter/convert
  • DELETE /ytconverter/{id}
  • GET /ytconverter/search
  • GET /ytconverter/info

Check the wiki page of this repository for more information about the routes.

To enable the search endpoint you need to acquire a Google API key on the Google Developer Console for the API "Youtube Data API v3". Use this key in the environment variable GOOGLE_API_KEY

Configuration

Driver

Downloading Youtube video's is not simple these days. To cover this, you can choose how you want to download the video's by setting the driver in the configuration.

Available drivers:

  • local

The default driver. Requires ffmpeg and yt-dlp or youtube-dl to be installed on the server and it'll download files to the server. Metadata comes from yt-dlp.

  • cobalt

Requires a (self) hosted Cobalt (API) instance. It doesn't require any software to be installed on the server and it doesn't download files to the server. If GOOGLE_API_KEY is set, it'll use the Youtube Data API to get metadata, otherwise it will download the video to get the metadata and thus use storage space instead.

  • cnvmp3

Uses cnvmp3.com to convert the files and downloads them to this instance. It doesn't require any software to be installed on the server. If GOOGLE_API_KEY is set, it'll use the Youtube Data API to get metadata, otherwise it'll use getid3.

API authorization

If needed, you can protect the API routes with an authentication guard by setting auth in the configuration.

Example:

'auth' => 'sanctum',

API rate limiting

If needed, you can limit API calls by editing the config setting ratelimiter. See Laravel docs for more information or examples.

Example:

'ratelimiter' => function (Request $request) {
    return Limit::perMinute(5);
},

统计信息

  • 总下载量: 416
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 32
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 32
  • Watchers: 3
  • Forks: 10
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-05-08

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固