AllTube搭建全平台视频解析 作者: Hogwarts 发布于: 2023-02-06 更新于: 2024-04-26 分类: 默认分类 前文用过youtube_dl,需在VPS上命令行操作,不方便。 AllTube 为 youtube-dl 的网络图形用户界面。 This repository has been archived by the owner on Apr 22, 2023. It is now read-only. `https://github.com/Rudloff/alltube/issues/435` #一、搭建的前提 需搭建LNMP环境,安装Nginx、PHP。 #二、AllTube的搭建 ##2.1 Nginx 配置 server{ listen 80; listen [::]:80; server_name yourdomain.com; return 301 https://$server_name$request_uri; } server { server_name yourdomain.com; listen 443 ssl; listen [::]:443 ssl; http2 on; #nginx 1.26以上写法 root /var/www/path/to/alltube; index index.php; ssl_certificate /pathto/fullchain.cer; ssl_certificate_key /pathto/private.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers on; ssl_early_data on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; add_header Strict-Transport-Security "max-age=31536000"; access_log /var/log/nginx/alltube.access.log; error_log /var/log/nginx/alltube.error.log; types { text/html html htm shtml; text/css css; text/xml xml; application/x-web-app-manifest+json webapp; } # Deny access to dotfiles location ~ /\. { deny all; } location / { try_files $uri /index.php?$args; } location ~ \.php$ { try_files $uri /index.php?$args; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/var/run/php8.2-fpm.sock; #按实际版本修改 fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; include fastcgi_params; } } ##2.2 下载 AllTube 代码 在网站根目录下下载 wget https://github.com/Rudloff/alltube/releases/download/3.2.0-alpha/alltube-3.2.0-alpha.zip unzip alltube-3.2.0-alpha.zip 可能需要给予nginx运行用户读取alltube目录权限 chown -R www-data:www-data /path/alltube ##2.3 直链方式 此方式搭建完毕后,由播放窗口下载完成。 需安装 ffmpeg 依赖 apt install ffmpeg -y 播放和下载需本地具有翻墙功能,不走AllTube服务器流量。 ##2.4 yt-dlp 方式 此种方式无需本地翻墙操作,下载流量走AllTube服务器流量。 ###2.4.1 修改配置文件 进入 alltube 根目录下的 `config` 文件夹 cd /path to/config cp config.example.yml config.yml vim config.yml # Path to your youtube-dl binary youtubedl: vendor/ytdl-org/youtube-dl/youtube_dl/__main__.py # Path to your python binary python: /usr/bin/python3.9 #注意版本 # An array of parameters to pass to youtube-dl params: - --no-warnings - --ignore-errors - --flat-playlist - --restrict-filenames - --no-playlist # True to enable audio conversion convert: true #开启转码,关闭为 false # True to enable advanced conversion mode convertAdvanced: true #转码建议,关闭为 false # List of formats available in advanced conversion mode convertAdvancedFormats: [mp3, avi, flv, wav] # Path to your ffmpeg binary ffmpeg: /usr/bin/ffmpeg # ffmpeg logging level. ffmpegVerbosity: error # Path to the directory that contains the phantomjs binary. phantomjsDir: /usr/bin/ # True to disable URL rewriting uglyUrls: false # True to stream videos through server # Set to "ask" if you want to allow it but not enable by default. stream: true #走服务器流量,拒绝选 false # True to enable remux mode (merge best audio and best video) remux: false #封装mkv,不能与转码同时使用 # MP3 bitrate when converting (in kbit/s) audioBitrate: 128 # App name appName: AllTube Download # Generic formats supported by youtube-dl genericFormats: best/bestvideo: Best bestvideo+bestaudio: Remux best video with best audio worst/worstvideo: Worst # Enable debug mode. debug: false # True to enable audio conversion mode by default defaultAudio: false # False to disable convert seek functionality convertSeek: true ###2.4.2 可能存在的问题 - python3未安装 apt install python3 python3-pip -y - 版权问题 尽量自用,避免大众使用 ##2.5 建议使用最新版 yt-dlp cd /path to/alltube/vendor wget https://github.com/yt-dlp/yt-dlp/releases/download/2023.03.04/yt-dlp.tar.gz tar -zxvf yt-dlp.tar.gz 修改 config.yml 中 youtube-dl 的路径 修改 youtubedl: vendor/ytdl-org/youtube-dl/youtube_dl/__main__.py 为 youtubedl: vendor/yt-dlp/yt_dlp/__main__.py #路径需实际修改 ##2.6 使用中存在的问题 非常建议使用 `yt-dlp` 。 因其更新速度较快,容易解决一些视频网站不能下载的问题。比如下列错误。 出错了 '/usr/bin/python' 'vendor/ytdl-org/youtube-dl/youtube_dl/__main__.py' '--no-warnings' '--ignore-errors' '--flat-playlist' '--restrict-filenames' '--no-playlist' '--dump-single-json' 'https://youtu.be/quxty9_wvWo' '-f' 'best[protocol=https]/best[protocol=http]/bestvideo[protocol=https]/bestvideo[protocol=http]' failed with this error: ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output. 更新`yt-dlp`后解决了此问题。 ##2.7 alltube和yt-dlp更新 cd htmlpath mv alltube alltubebak wget https://github.com/Rudloff/alltube/releases/download/3.2.0-alpha/alltube-3.2.0-alpha.zip unzip alltube-3.2.0-alpha.zip rm alltube-3.2.0-alpha.zip cp ./alltubebak/config/config.yml /path/alltube/config/ cd /path/alltube/vendor/ wget https://github.com/yt-dlp/yt-dlp/releases/download/2023.03.04/yt-dlp.tar.gz tar -zxvf yt-dlp.tar.gz rm yt-dlp.tar.gz chown -R www-data:www-data /path/alltube nginx -s reload #三、参考 [AllTube Download](https://github.com/Rudloff/alltube "AllTube Download") [YT-DLP](https://github.com/yt-dlp/yt-dlp "YT-DLP") [部署alltube的问题](https://hostloc.com/thread-1133510-1-2.html "部署alltube的问题") [搭建全平台视频解析视频下载网站](https://2demo.top/353.html "搭建全平台视频解析视频下载网站") [AllTube全平台视频解析视频下载离线下载搭建教程](https://jkboy.com/archives/5284.html "AllTube全平台视频解析视频下载离线下载搭建教程") [博客内容被人盗取再加上自己版权](https://hostloc.com/thread-1133509-1-1.html "博客内容被人盗取再加上自己版权") 标签: youtube, youtube-dl, alltube, yt-dlp